<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/TableGen, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/TableGen?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/TableGen?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-09-06T23:32:48Z</updated>
<entry>
<title>Re-work bit/bits value resolving in tblgen</title>
<updated>2012-09-06T23:32:48Z</updated>
<author>
<name>Michael Liao</name>
<email>michael.liao@intel.com</email>
</author>
<published>2012-09-06T23:32:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=307525cd24c3b9c081ddb3c34a3418f2875cd556'/>
<id>urn:sha1:307525cd24c3b9c081ddb3c34a3418f2875cd556</id>
<content type='text'>
- This patch is inspired by the failure of the following code snippet
  which is used to convert enumerable values into encoding bits to
  improve the readability of td files.

  class S&lt;int s&gt; {
    bits&lt;2&gt; V = !if(!eq(s, 8),  {0, 0},
                !if(!eq(s, 16), {0, 1},
                !if(!eq(s, 32), {1, 0},
                !if(!eq(s, 64), {1, 1}, {?, ?}))));
  }

  Later, PR8330 is found to report not exactly the same bug relevant
  issue to bit/bits values.

- Instead of resolving bit/bits values separately through
  resolveBitReference(), this patch adds getBit() for all Inits and
  resolves bit value by resolving plus getting the specified bit. This
  unifies the resolving of bit with other values and removes redundant
  logic for resolving bit only. In addition,
  BitsInit::resolveReferences() is optimized to take advantage of this
  origanization by resolving VarBitInit's variable reference first and
  then getting bits from it.

- The type interference in '!if' operator is revised to support possible
  combinations of int and bits/bit in MHS and RHS.

- As there may be illegal assignments from integer value to bit, says
  assign 2 to a bit, but we only check this during instantiation in some
  cases, e.g.

  bit V = !if(!eq(x, 17), 0, 2);

  Verbose diagnostic message is generated when invalid value is
  resolveed to help locating the error.

- PR8330 is fixed as well.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163360 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Convert all tests using TCL-style quoting to use shell-style quoting.</title>
<updated>2012-07-02T12:47:22Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T12:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4177e6fff50552908bab510f1e896fa974a6f155'/>
<id>urn:sha1:4177e6fff50552908bab510f1e896fa974a6f155</id>
<content type='text'>
This was done through the aid of a terrible Perl creation. I will not
paste any of the horrors here. Suffice to say, it require multiple
staged rounds of replacements, state carried between, and a few
nested-construct-parsing hacks that I'm not proud of. It happens, by
luck, to be able to deal with all the TCL-quoting patterns in evidence
in the LLVM test suite.

If anyone is maintaining large out-of-tree test trees, feel free to poke
me and I'll send you the steps I used to convert things, as well as
answer any painful questions etc. IRC works best for this type of thing
I find.

Once converted, switch the LLVM lit config to use ShTests the same as
Clang. In addition to being able to delete large amounts of Python code
from 'lit', this will also simplify the entire test suite and some of
lit's architecture.

Finally, the test suite runs 33% faster on Linux now. ;]
For my 16-hardware-thread (2x 4-core xeon e5520): 36s -&gt; 24s

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159525 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add support for range expressions in TableGen foreach loops.</title>
<updated>2012-05-24T22:17:39Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-05-24T22:17:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fae8b1de47c004fefaa6c2683ae193d465b9d93f'/>
<id>urn:sha1:fae8b1de47c004fefaa6c2683ae193d465b9d93f</id>
<content type='text'>
Like this:

  foreach i = 0-127 in ...

Use braces for composite ranges:

  foreach i = {0-3,9-7} in ...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157432 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Don't put TGParser scratch results in the output.</title>
<updated>2012-05-24T22:17:36Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-05-24T22:17:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=72cba6cdf640411e2fb6207858a0abd87c4286fc'/>
<id>urn:sha1:72cba6cdf640411e2fb6207858a0abd87c4286fc</id>
<content type='text'>
Only fully expanded Records should go into RecordKeeper.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157431 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach tblgen's set theory "sequence" operator to support an optional stride operand.</title>
<updated>2012-05-24T21:37:08Z</updated>
<author>
<name>Owen Anderson</name>
<email>resistor@mac.com</email>
</author>
<published>2012-05-24T21:37:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6b31d4ea3610b04d71e1eb38d8fc625eae7b759a'/>
<id>urn:sha1:6b31d4ea3610b04d71e1eb38d8fc625eae7b759a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157416 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix infinite loop in nested multiclasses.</title>
<updated>2012-03-07T16:39:35Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-03-07T16:39:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a2da78852b25ef098c91e5923e8edf205c3bf0c7'/>
<id>urn:sha1:a2da78852b25ef098c91e5923e8edf205c3bf0c7</id>
<content type='text'>
Patch by Michael Liao!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152232 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add Foreach Loop</title>
<updated>2012-02-22T16:09:41Z</updated>
<author>
<name>David Greene</name>
<email>greened@obbligato.org</email>
</author>
<published>2012-02-22T16:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cebb4ee93a0064e4a2cb1fd1da7455b01e5655cb'/>
<id>urn:sha1:cebb4ee93a0064e4a2cb1fd1da7455b01e5655cb</id>
<content type='text'>
Add some data structures to represent for loops.  These will be
referenced during object processing to do any needed iteration and
instantiation.

Add foreach keyword support to the lexer.

Add a mode to indicate that we're parsing a foreach loop.  This allows
the value parser to early-out when processing the foreach value list.

Add a routine to parse foreach iteration declarations.  This is
separate from ParseDeclaration because the type of the named value
(the iterator) doesn't match the type of the initializer value (the
value list).  It also needs to add two values to the foreach record:
the iterator and the value list.

Add parsing support for foreach.

Add the code to process foreach loops and create defs based
on iterator values.

Allow foreach loops to be matched at the top level.

When parsing an IDValue check if it is a foreach loop iterator for one
of the active loops.  If so, return a VarInit for it.

Add Emacs keyword support for foreach.

Add VIM keyword support for foreach.

Add tests to check foreach operation.

Add TableGen documentation for foreach.

Support foreach with multiple objects.

Support non-braced foreach body with one object.

Do not require types for the foreach declaration.  Assume the iterator
type from the iteration list element type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151164 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.</title>
<updated>2012-02-16T06:28:33Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eli.bendersky@intel.com</email>
</author>
<published>2012-02-16T06:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0f0c411079cd21bb3a81a1b70bf8c67539a16c22'/>
<id>urn:sha1:0f0c411079cd21bb3a81a1b70bf8c67539a16c22</id>
<content type='text'>
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150664 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add an (interleave A, B, ...) SetTheory operator.</title>
<updated>2012-01-24T18:06:05Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-01-24T18:06:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5b52f6d655e34de5c6fedbb71b6c94775cc10032'/>
<id>urn:sha1:5b52f6d655e34de5c6fedbb71b6c94775cc10032</id>
<content type='text'>
This will interleave the elements from two or more lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148824 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>XFAIL test on leak checkers.</title>
<updated>2011-10-24T17:24:05Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2011-10-24T17:24:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7bab29de32a9dd62f4522c72fd740d164e97d21e'/>
<id>urn:sha1:7bab29de32a9dd62f4522c72fd740d164e97d21e</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142804 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
