summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Update SplitEditor API to reflect the fact that the original live interval isJakob Stoklund Olesen2010-10-053-39/+27
| | | | | | | | | | never kept after splitting. Keeping the original interval made sense when the split region doesn't modify the register, and the original is spilled. We can get the same effect by detecting reloaded values when spilling around copies. llvm-svn: 115695
* Intervals are half-open.Jakob Stoklund Olesen2010-10-051-1/+1
| | | | llvm-svn: 115694
* fix a bug I introduced in r115669, which ended up with MOV64mr_TCChris Lattner2010-10-051-1/+2
| | | | | | not getting marked as mayStore. This fixes llvm-gcc bootstrap. llvm-svn: 115693
* add a multiclass for cmov's, but don't start using it yet.Chris Lattner2010-10-051-1/+40
| | | | llvm-svn: 115692
* use a multipattern to define setcc instructions:Chris Lattner2010-10-051-173/+27
| | | | | | | X86InstrCMovSetCC.td | 200 ++++++--------------------------------------------- 1 file changed, 27 insertions(+), 173 deletions(-) llvm-svn: 115689
* 256 sections should be enough for anyone...Rafael Espindola2010-10-051-1/+1
| | | | llvm-svn: 115687
* move SETB pseudos into the same place in InstrCompiler.tdChris Lattner2010-10-052-21/+13
| | | | llvm-svn: 115686
* Replace a gross hack (the MOV64ri_alt instruction) with a slightly less Chris Lattner2010-10-053-11/+10
| | | | | | gross hack (having the asmmatcher handle the alias). llvm-svn: 115685
* Don't crash in a strange .size directive.Rafael Espindola2010-10-051-5/+15
| | | | llvm-svn: 115684
* distribute the rest of the contents of X86Instr64bit.td out toChris Lattner2010-10-054-331/+264
| | | | | | the right places. X86Instr64bit.td now dies, long live x86-64! llvm-svn: 115669
* When we find a reaching definition, make sure it is visited from all paths byJakob Stoklund Olesen2010-10-051-5/+12
| | | | | | erasing it from the visited set. That ensures we create the right phi defs. llvm-svn: 115666
* Don't use nextIndex to check for live out of instruction.Jakob Stoklund Olesen2010-10-052-17/+13
| | | | | | | | | | | Insert copy after defining instruction. Fix LiveIntervalMap::extendTo to properly handle live segments starting before the current basic block. Make sure the open live range is extended to the inserted copy's use slot. llvm-svn: 115665
* move the rest of the simple 64-bit arithmetic into InstrArithmetic.tdChris Lattner2010-10-052-226/+195
| | | | llvm-svn: 115663
* continue moving 64-bit stuff into X86InstrArithmetic.tdChris Lattner2010-10-052-300/+245
| | | | llvm-svn: 115660
* Fix Punctuation.Michael J. Spencer2010-10-051-1/+1
| | | | llvm-svn: 115657
* MC-COFF: Fix (PR8278) temporary symbol relocations.Michael J. Spencer2010-10-051-1/+2
| | | | llvm-svn: 115656
* Add support for a fill value in the .zero directive.Rafael Espindola2010-10-051-1/+8
| | | | llvm-svn: 115655
* Tweak VNInfo printing.Jakob Stoklund Olesen2010-10-051-0/+2
| | | | llvm-svn: 115650
* Add assert for valid slot indexes.Jakob Stoklund Olesen2010-10-051-0/+1
| | | | llvm-svn: 115649
* Increase the number of bits used internally by the ARM target to represent theJim Grosbach2010-10-052-16/+16
| | | | | | addressing mode from four to five. llvm-svn: 115645
* Implement a simple alias case and refactor the code a bit so that theRafael Espindola2010-10-051-17/+35
| | | | | | isInSymtab and isLocal logic in the two loops don't get easily out of sync. llvm-svn: 115643
* Use a more efficient lowering of uint64_t --> float that can take advantage ↵Owen Anderson2010-10-051-6/+28
| | | | | | | | | of hardware signed integer conversion without having to do a double cast (uint64_t --> double --> float). This is based on the algorithm from compiler_rt's __floatundisf for X86-64. llvm-svn: 115634
* move 64-bit add and adc to InstrArithmetic.Chris Lattner2010-10-052-113/+83
| | | | llvm-svn: 115632
* rewrote two addr constraints so that they are only set, not set and then ↵Chris Lattner2010-10-051-321/+343
| | | | | | nestedly cleared. llvm-svn: 115631
* split the 32-bit integer arithmetic instructions out to their own file.Chris Lattner2010-10-052-1226/+1246
| | | | llvm-svn: 115627
* Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed.Rafael Espindola2010-10-051-1/+25
| | | | llvm-svn: 115623
* After printing "Running 'Graphviz' program... " and running theDan Gohman2010-10-051-6/+10
| | | | | | | Graphviz program, print something with a newline, to avoid leaving the line unfinished. llvm-svn: 115620
* On ELF we need to know which symbols are used in relocations to decide ifRafael Espindola2010-10-054-77/+47
| | | | | | | they should be in the symbol table or not. Instead of "guessing", just compute the symbol table after the relocations are known. llvm-svn: 115619
* integrate the 64-bit shifts into X86InstrShiftRotate.td. Enough for tonight.Chris Lattner2010-10-052-302/+249
| | | | llvm-svn: 115608
* move 32-bit shift and rotates out to their own file.Chris Lattner2010-10-052-555/+579
| | | | llvm-svn: 115607
* add new fileChris Lattner2010-10-051-0/+162
| | | | llvm-svn: 115606
* move sign and zero extensions out to their own file.Chris Lattner2010-10-052-158/+7
| | | | llvm-svn: 115605
* move some instructions from Instr64Bit -> InstrInfo.Chris Lattner2010-10-053-98/+87
| | | | | | bswap32 doesn't read eflags. llvm-svn: 115604
* move CMOV_FR32 and friends to InstrCompiler, since they are Chris Lattner2010-10-054-57/+63
| | | | | | | | pseudo instructions. Move POPCNT to InstrSSE since they are SSE4 instructions. llvm-svn: 115603
* move various pattern matching support goop out of X86Instr64Bit, to liveChris Lattner2010-10-053-87/+70
| | | | | | with the 32-bit stuff. llvm-svn: 115602
* split conditional moves and setcc's out to their own file.Chris Lattner2010-10-054-814/+838
| | | | llvm-svn: 115601
* move string pseudo instructions to InstrCompiler consolidate 64-bit and ↵Chris Lattner2010-10-053-35/+36
| | | | | | 32-bit together. llvm-svn: 115600
* move the atomic pseudo instructions out to X86InstrCompiler.tdChris Lattner2010-10-054-393/+388
| | | | llvm-svn: 115599
* move more pseudo instructions out to X86InstrCompiler.tdChris Lattner2010-10-053-156/+153
| | | | llvm-svn: 115598
* move VMX instructions out to their own file.Chris Lattner2010-10-052-40/+56
| | | | llvm-svn: 115597
* continue moving stuff out to X86InstrSystem.td. MoveChris Lattner2010-10-055-1363/+1369
| | | | | | | | control flow stuff out to X86InstrControl.td. Move some compiler pseudo instructions and Pat<> patterns out to X86InstrCompiler.td llvm-svn: 115596
* fix MSVC 2010 build.Michael J. Spencer2010-10-051-1/+2
| | | | llvm-svn: 115594
* Cleanup Whitespace.Michael J. Spencer2010-10-051-11/+11
| | | | llvm-svn: 115593
* refactor .td files a bit, moving system instructions out to X86InstrSystem.tdChris Lattner2010-10-054-315/+316
| | | | llvm-svn: 115591
* Re-apply r115363 and r115366 now that r115525 has removed the un-needed headerJim Grosbach2010-10-059-4/+4
| | | | | | | | | that caused the circular dependencies on Linux. Built OK for me on OSX and Linux (Ubuntu) with configure/make and CMake. Will keep an eye on the bots.... llvm-svn: 115582
* This DAG combine BRCOND transformation can look pass truncate of the operand:Evan Cheng2010-10-041-13/+18
| | | | | | | | | | | | | | | | | | | | // %a = ... // %b = and i32 %a, 2 // %c = srl i32 %b, 1 // brcond i32 %c ... // // into // // %a = ... // %b = and i32 %a, 2 // %c = setcc eq %b, 0 // brcond %c ... Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match. This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it. llvm-svn: 115571
* The pshufw instruction came about in MMX2 when SSE was introduced. Don't placeBill Wendling2010-10-042-10/+40
| | | | | | | | | it in with the SSSE3 instructions. Steward! Could you place this chair by the aft sun deck? I'm trying to get away from the Astors. They are such boors! llvm-svn: 115552
* Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!Kevin Enderby2010-10-043-9/+5
| | | | | | | | | | | | | | | | 1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better named. Since it is just a predicate and isn't actually changing any state. 2) Added a missing return in the comments for setCurrentDwarfLoc() in include/llvm/MC/MCContext.h for fix formatting. 3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change state. 4) Simplified the last test in isValidDwarfFileNumber() to just a one line boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement. llvm-svn: 115551
* Implement ELF::R_X86_64_GOTPCREL.Rafael Espindola2010-10-041-0/+3
| | | | llvm-svn: 115547
* Move isFixupKindX86PCRel.Rafael Espindola2010-10-041-12/+12
| | | | llvm-svn: 115545
OpenPOWER on IntegriCloud