summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add coalescer asserts.Jakob Stoklund Olesen2009-12-221-4/+6
| | | | llvm-svn: 91945
* Add a SPR register class to the ARM target.Jakob Stoklund Olesen2009-12-222-1/+14
| | | | | | Certain Thumb instructions require only SP (e.g. tSTRspi). llvm-svn: 91944
* Partially revert r91626. Materializing extra functions to determine whetherJeffrey Yasskin2009-12-223-23/+106
| | | | | | | | | | | they're available_externally broke VMKit, which was relying on the fact that functions would only be materialized when they were first called. We'll have to wait for http://llvm.org/PR5737 to really fix this. I also added a test for one of the F->isDeclaration() calls which wasn't covered by anything else in the test suite. llvm-svn: 91943
* Assign ordering to nodes created in ExpandNode. Only roughly 1/2 of the functionBill Wendling2009-12-221-84/+237
| | | | | | is finished. llvm-svn: 91942
* Fix a crash in JIT::recompileAndRelinkFunction(). It doesn't pass the MCIJeffrey Yasskin2009-12-222-2/+35
| | | | | | | | | argument to runJITOnFunction(), which caused a null pointer dereference at every call. Patch by Gianluca Guida! llvm-svn: 91939
* Assign ordering to SDNodes in PromoteNode. Also fixing a subtle bug where BSWAPBill Wendling2009-12-222-15/+83
| | | | | | was using "Tmp1" in the first getNode call instead of Node->getOperand(0). llvm-svn: 91936
* Removed the "inline" keyword from the disassembler decoder,Sean Callanan2009-12-221-30/+30
| | | | | | because the Visual C++ build does not build .c files as C99 llvm-svn: 91935
* rename HexDisassembler -> Disassembler, it works on any inputChris Lattner2009-12-224-10/+10
| | | | | | integer encoding (0123, 0b10101, 42, etc). llvm-svn: 91934
* just discard the debug output from the disassembler.Chris Lattner2009-12-221-6/+2
| | | | llvm-svn: 91933
* Add testcase for PR5703Anton Korobeynikov2009-12-221-0/+13
| | | | llvm-svn: 91931
* Remove minimal CFG sanity checks from verifier.Jakob Stoklund Olesen2009-12-221-18/+0
| | | | | | | | | These checks would often trigger on unreachable statements inserted by bugpoint, leading it astray. It would be nice if we could distinguish unreachable blocks from errors. llvm-svn: 91923
* Allow explicit %reg0 operands beyond what the .td file describes.Jakob Stoklund Olesen2009-12-221-1/+2
| | | | | | ARM uses these to indicate predicates. llvm-svn: 91922
* Allow 0 as an order number. Don't assign an order to formal arguments.Bill Wendling2009-12-222-21/+11
| | | | llvm-svn: 91920
* Fixes to the X86 disassembler:Sean Callanan2009-12-223-8/+20
| | | | | | | | Made LEA memory operands emit only 4 MCInst operands. Made the scale operand equal 1 for instructions that have no SIB byte. llvm-svn: 91919
* Restore snprintf weirdness for VCPP onlyAnton Korobeynikov2009-12-221-0/+8
| | | | llvm-svn: 91918
* Fix the Convert to scalar to not insert dead loads in the store case. TheChris Lattner2009-12-221-2/+12
| | | | | | | | | | | | | | load is needed when we have a small store into a large alloca (at which point we get a load/insert/store sequence), but when you do a full-sized store, this load ends up being dead. This dead load is bad in really large nasty testcases where the load ends up causing mem2reg to insert large chains of dependent phi nodes which only ADCE can delete. Instead of doing this, just don't insert the dead load. This fixes rdar://6864035 llvm-svn: 91917
* fix some fixme's by using twinesChris Lattner2009-12-221-6/+2
| | | | llvm-svn: 91916
* Use proper move instructions. Make the verifier happy.Jakob Stoklund Olesen2009-12-221-1/+1
| | | | llvm-svn: 91914
* Report an error for bad inline assembly, where the value passed for anBob Wilson2009-12-221-2/+6
| | | | | | "indirect" operand is not a pointer. llvm-svn: 91913
* Remove target attribute break-sse-dep. Instead, do not fold load into sse ↵Evan Cheng2009-12-227-56/+25
| | | | | | partial update instructions unless optimizing for size. llvm-svn: 91910
* Include based on the current path, since we already -I the X86 target's ↵Douglas Gregor2009-12-221-1/+1
| | | | | | path. Fixes CMake build llvm-svn: 91908
* While converting one of the operands to a memory operand, we need to check ↵Sanjiv Gupta2009-12-224-10/+60
| | | | | | if it is Legal and does not result into a cyclic dep. llvm-svn: 91904
* specify what is invalid about itChris Lattner2009-12-221-1/+1
| | | | llvm-svn: 91901
* specify a triple to use, fixing the test on non-x86-64 hosts.Chris Lattner2009-12-221-1/+1
| | | | llvm-svn: 91900
* reject invalid input with a caret, e.g.:Chris Lattner2009-12-221-2/+2
| | | | | | | | simple-tests.txt:16:1: error: invalid instruction 0xff 0xff ^ llvm-svn: 91898
* Generalize SROA to allow the first index of a GEP to be non-zero. Add aBob Wilson2009-12-222-23/+57
| | | | | | | | missing check that an array reference doesn't go past the end of the array, and remove some redundant checks for in-bound array and vector references that are no longer needed. llvm-svn: 91897
* various cleanups, make the disassemble reject lines with too muchChris Lattner2009-12-222-40/+50
| | | | | | | | | | | data on them, for example: addb %al, (%rax) simple-tests.txt:11:5: error: excess data detected in input 0 0 0 0 0 ^ llvm-svn: 91896
* If you thought that it didn't make sense for the disassemblerChris Lattner2009-12-221-19/+15
| | | | | | to not produce caret diagnostics, you were right! llvm-svn: 91895
* rewrite the file parser for the disassembler, implementing support forChris Lattner2009-12-223-14/+45
| | | | | | | comments. Also, check in a simple testcase for the disassembler, including a test for r91864 llvm-svn: 91894
* don't crash on blank lines, rename some variables.Chris Lattner2009-12-221-38/+31
| | | | llvm-svn: 91892
* Implement PR5795 by merging duplicated return blocks. This could go furtherChris Lattner2009-12-222-0/+91
| | | | | | | by merging all returns in a function into a single one, but simplifycfg currently likes to duplicate the return (an unfortunate choice!) llvm-svn: 91890
* convert to filecheckChris Lattner2009-12-221-5/+15
| | | | llvm-svn: 91889
* don't run GVN at -O1, GCC doesn't do it's equivalent at that optimization level.Chris Lattner2009-12-221-1/+2
| | | | llvm-svn: 91886
* The phi translated pointer can be computed when returning a partially cached ↵Chris Lattner2009-12-223-34/+52
| | | | | | | | | | result instead of stored. This reduces memdep memory usage, and also eliminates a bunch of weakvh's. This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x) on a different machine than earlier. llvm-svn: 91885
* Add more plumbing. This time in the LowerArguments and "get" functions whichBill Wendling2009-12-2212-58/+159
| | | | | | | | return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880
* Changed REG_* to MODRM_REG_* to avoid conflictsSean Callanan2009-12-222-17/+21
| | | | | | with symbols in AuroraUX's global namespace. llvm-svn: 91879
* Fix some may-be-uninitialized var warnings.Daniel Dunbar2009-12-221-3/+3
| | | | llvm-svn: 91878
* fix unit test that I broke.Chris Lattner2009-12-221-1/+1
| | | | llvm-svn: 91877
* Add SDNode ordering to inlined asm and VA functions.Bill Wendling2009-12-221-28/+78
| | | | llvm-svn: 91876
* Whitespace fixes.Eric Christopher2009-12-221-4/+4
| | | | llvm-svn: 91875
* types don't need atomic inc/dec, they are local to an llvmcontext.Chris Lattner2009-12-221-6/+3
| | | | llvm-svn: 91873
* Adding more assignment of ordering to SDNodes. This time in the "call" andBill Wendling2009-12-221-32/+66
| | | | | | generic copy functions. llvm-svn: 91872
* Fixed library dependencies between the X86 disassembler andSean Callanan2009-12-223-18/+5
| | | | | | X86 codegen that were causing circular symbol dependencies. llvm-svn: 91871
* avoid calling extractMallocCall when it's obvious we don't haveChris Lattner2009-12-221-1/+2
| | | | | | a call. This speeds up memdep ~1.5% llvm-svn: 91869
* comment fix: weakvh -> tracking vhChris Lattner2009-12-221-2/+2
| | | | llvm-svn: 91867
* Add ordering of SDNodes to LowerCallTo.Bill Wendling2009-12-221-19/+44
| | | | llvm-svn: 91866
* print pcrel immediates as signed values instead of unsigned so that weChris Lattner2009-12-221-3/+5
| | | | | | | | | | | | | | get things like this out of the disassembler: 0x100000ecb: callq -96 instead of: 0x100000ecb: callq 4294967200 rdar://7491123 llvm-svn: 91864
* Now add ordering to SDNodes created by the massive intrinsic lowering function.Bill Wendling2009-12-221-100/+183
| | | | llvm-svn: 91863
* To make things interesting, I added MORE code to set the ordering ofBill Wendling2009-12-221-32/+387
| | | | | | SDNodes. This time in the load/store and limited-precision code. llvm-svn: 91860
* Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint.Lang Hames2009-12-227-34/+29
| | | | | | This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals. llvm-svn: 91859
OpenPOWER on IntegriCloud