summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen
Commit message (Collapse)AuthorAgeFilesLines
* Wrap to 80 colsChris Lattner2006-06-091-4/+5
| | | | llvm-svn: 28743
* Don't build tblgen with -pedantic or -Wno-long-longReid Spencer2006-06-011-0/+4
| | | | llvm-svn: 28638
* Can't trust NodeDepth when checking for possibility of load folding creatingEvan Cheng2006-05-251-7/+5
| | | | | | | | a cycle. This increase the search space and will increase compile time (in practice it appears to be small, e.g. 176.gcc goes from 62 sec to 65 sec) that will be addressed later. llvm-svn: 28476
* Fixed a really ugly bug. The TableGen'd isel is not freeing the "inflight set"Evan Cheng2006-05-251-9/+21
| | | | | | | correctly. That is causing non-deterministic behavior (and possibly preventing some load folding from happening). llvm-svn: 28458
* Don't make zero-sized static arraysChris Lattner2006-05-241-1/+1
| | | | llvm-svn: 28448
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-241-1/+1
| | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
* Now that iPTR is a fully resolved type. We end up losing the type check forEvan Cheng2006-05-191-1/+1
| | | | | | | | | | | patterns that look like this: def : Pat<(i32 (X86Wrapper tconstpool :$dst)), (MOV32ri tconstpool :$dst)>; InsertOneTypeCheck should copy the type from the resolved pattern to the unresolved one as long as there types are different. llvm-svn: 28389
* lib/Target/Target.tdEvan Cheng2006-05-181-5/+7
| | | | llvm-svn: 28386
* Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.Evan Cheng2006-05-183-40/+0
| | | | llvm-svn: 28376
* TypoEvan Cheng2006-05-171-2/+2
| | | | llvm-svn: 28366
* Remove PointerType from target definition. Use abstract type MVT::iPTR toEvan Cheng2006-05-174-65/+93
| | | | | | represent pointer type. llvm-svn: 28363
* Allow patterns to refer to physical registers that belong to multipleEvan Cheng2006-05-163-6/+26
| | | | | | register classes. llvm-svn: 28323
* Noop instructionEvan Cheng2006-05-121-2/+0
| | | | llvm-svn: 28241
* Unused instructionEvan Cheng2006-05-121-1/+0
| | | | llvm-svn: 28240
* Also add super- register classes info.Evan Cheng2006-05-111-0/+38
| | | | llvm-svn: 28221
* Watch out for the following case:Evan Cheng2006-05-101-11/+37
| | | | | | | | 1. Use expects a chain output. 2. Node is expanded into multiple target ops. 3. One of the inner node produces a chain, the outer most one doesn't. llvm-svn: 28209
* Fix a load folding bug. It is exposed by a multi- resulting instructionsEvan Cheng2006-05-101-59/+63
| | | | | | def : Pat<> pattern. llvm-svn: 28208
* Add sub-register class information.Evan Cheng2006-05-091-3/+49
| | | | llvm-svn: 28195
* Set isStore of instructions with ISD::TRUNCSTORE root node.Evan Cheng2006-05-031-3/+5
| | | | llvm-svn: 28075
* Put instruction names into the first non TargetInstrInfo namespace found.Chris Lattner2006-05-011-10/+18
| | | | llvm-svn: 28043
* instructions can be in different namespaces. Make sure to use the rightChris Lattner2006-05-011-8/+4
| | | | | | one for each instruction. llvm-svn: 28038
* FormatingEvan Cheng2006-05-011-1/+1
| | | | llvm-svn: 28036
* Mark instructions whose pattern is (store ...) isStore.Evan Cheng2006-05-011-1/+17
| | | | llvm-svn: 28032
* Remove the temporary option: -no-isel-fold-inflightEvan Cheng2006-04-281-2/+1
| | | | llvm-svn: 28012
* When isel'ing a node, mark its operands "InFlight" before selecting them. TheseEvan Cheng2006-04-281-2/+34
| | | | | | | | nodes should not be folded into other nodes. This fixes the miscompilation of PR 749. Temporarily under flag control. llvm-svn: 28002
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-0/+1
| | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947
* Don't fill in fields that no longer exist.Chris Lattner2006-04-201-2/+1
| | | | llvm-svn: 27898
* Rename AddedCost to AddedComplexity.Evan Cheng2006-04-192-13/+15
| | | | llvm-svn: 27841
* Allow "let AddedCost = n in" to increase pattern complexity.Evan Cheng2006-04-192-7/+21
| | | | llvm-svn: 27834
* Add missing things to the distribution.Reid Spencer2006-04-131-0/+2
| | | | llvm-svn: 27650
* Fix a typo: Instr* -> Intr*Chris Lattner2006-04-101-3/+3
| | | | llvm-svn: 27568
* Infer element types for shuffle masksChris Lattner2006-04-061-0/+20
| | | | llvm-svn: 27456
* rename a method, to avoid confusion with llvm intrinsics.Chris Lattner2006-04-061-4/+3
| | | | llvm-svn: 27455
* Adjust the Intrinsics.gen interface a little bitChris Lattner2006-04-021-2/+2
| | | | llvm-svn: 27345
* regenerateChris Lattner2006-03-315-423/+421
| | | | llvm-svn: 27313
* Generalize the previous binary operator support and add a string concatenationChris Lattner2006-03-314-38/+109
| | | | | | operation. This implements Regression/TableGen/strconcat.td. llvm-svn: 27312
* Allow bits init values to be used in patterns, turn them into ints.Chris Lattner2006-03-311-0/+19
| | | | llvm-svn: 27286
* Final bugfix for PR724. GCC won't inline varargs functions, so use one toChris Lattner2006-03-311-17/+9
| | | | | | | validate the prototype of intrinsic functions. This prevents GCC from going crazy and inlining too much stuff, eventually running out of memory. llvm-svn: 27283
* When emitting code for the verifier, instead of emitting each case statementChris Lattner2006-03-311-9/+42
| | | | | | | | independently, batch up checks so that identically typed intrinsics share verifier code. This dramatically reduces the size of the verifier function, which should help avoid GCC running out of memory compiling Verifier.cpp. llvm-svn: 27281
* regenerateChris Lattner2006-03-303-1663/+1208
| | | | llvm-svn: 27264
* Implement Regression/TableGen/DagDefSubst.llChris Lattner2006-03-304-41/+45
| | | | llvm-svn: 27263
* Don't sort the names before outputing the intrinsic name table. It causes aEvan Cheng2006-03-281-7/+2
| | | | | | | | mismatch against the enum table. This is a part of Sabre's master plan to drive me nuts with subtle bugs that happens to only affect x86 be. :-) llvm-svn: 27237
* Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum ↵Chris Lattner2006-03-281-13/+17
| | | | | | | | value. Split them into separate enums. Also, don't emit dynamic checks when we can compute them statically llvm-svn: 27202
* Only compute intrinsic valuetypes when in a target .td file.Chris Lattner2006-03-282-3/+16
| | | | llvm-svn: 27197
* revert this, it breaks things.Chris Lattner2006-03-282-5/+4
| | | | llvm-svn: 27196
* Add support for decoding iPTR to the right pointer type.Chris Lattner2006-03-273-7/+19
| | | | llvm-svn: 27188
* Print error messages like this:Chris Lattner2006-03-271-1/+1
| | | | | | | | | tblgen: In STVEBX: Intrinsic 'llvm.ppc.altivec.stvebx' expects 3 operands, not 2 operands! instead of like this: tblgen: In STVEBX: Intrinsic 'intrinsic_void expects 3 operands, not 2 operands! llvm-svn: 27185
* Add a missing check which cause an invalid .td file to crash tblgenChris Lattner2006-03-251-0/+3
| | | | llvm-svn: 27126
* When failing selection for an intrinsic, print this:Chris Lattner2006-03-251-2/+16
| | | | | | | | | | Cannot yet select: intrinsic %llvm.ppc.altivec.lvx instead of this: Cannot yet select: 0x9b047e0: v4i32,ch = INTRINSIC 0x9b04540:1, 0x9b04710, 0x9b04790, 0x9b04540 llvm-svn: 27110
* Change approach so that we get codegen for free for intrinsics. With this,Chris Lattner2006-03-242-38/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | intrinsics that don't take pointer arguments now work. For example, we can compile this: int test3( __m128d *A) { return _mm_movemask_pd(*A); } int test4( __m128 *A) { return _mm_movemask_ps(*A); } to this: _test3: movl 4(%esp), %eax movapd (%eax), %xmm0 movmskpd %xmm0, %eax ret _test4: movl 4(%esp), %eax movaps (%eax), %xmm0 movmskps %xmm0, %eax ret llvm-svn: 27090
OpenPOWER on IntegriCloud