summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Another step towards getting rid of static ctors for pass registration: have ↵Owen Anderson2010-10-052-8/+19
| | | | | | | | | | INITIALIZE_PASS AND INITIALIZE_AG_PASS expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used at the moment) will be handed off to a PassRegistry for ownership. llvm-svn: 115703
* enhance tblgen to support anonymous defm's, use this toChris Lattner2010-10-053-34/+59
| | | | | | simplify the X86 CMOVmr's. llvm-svn: 115702
* convert cmov mr patterns to use a multipattern. Death to redundancyChris Lattner2010-10-051-97/+25
| | | | | | and verbosity llvm-svn: 115701
* When instantiating a new-expression, force a rebuild if there were defaultJohn McCall2010-10-052-21/+42
| | | | | | | | arguments in either the placement or constructor arguments. This is important if the default arguments refer to a declaration or create a temporary. llvm-svn: 115700
* Implement more alias cases.Rafael Espindola2010-10-052-0/+48
| | | | llvm-svn: 115699
* Added handling for external variables in functionSean Callanan2010-10-052-0/+35
| | | | | | | arguments to the expression parser. This means that structs can be returned from the "expr" command. llvm-svn: 115698
* switch CMOVBE to the multipattern:Chris Lattner2010-10-054-53/+21
| | | | | | | | 21 insertions(+), 53 deletions(-) Moar change coming before I switch the rest. llvm-svn: 115697
* We can split around loops with multiple exits now.Jakob Stoklund Olesen2010-10-051-6/+0
| | | | llvm-svn: 115696
* 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
* PSHUFW is in SSE, not SSSE3.Bill Wendling2010-10-051-2/+2
| | | | llvm-svn: 115691
* 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-055-14/+13
| | | | | | gross hack (having the asmmatcher handle the alias). llvm-svn: 115685
* Don't crash in a strange .size directive.Rafael Espindola2010-10-052-5/+24
| | | | llvm-svn: 115684
* Method declaration and its implementation must match in all their types.Fariborz Jahanian2010-10-055-14/+47
| | | | | | | Previously, compiler warned only if it was unsafe if types did not match. Fixes // rdar: //7933061 llvm-svn: 115683
* ...without leaving a temporary file behind.John McCall2010-10-051-1/+1
| | | | llvm-svn: 115671
* Er, this test should actually run IR generation.John McCall2010-10-051-1/+1
| | | | llvm-svn: 115670
* 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
* Teach PopCleanupBlock to correctly handle the possibility of branching throughJohn McCall2010-10-052-9/+43
| | | | | | | a EH-only cleanup as part of a fallthrough branch-through. That this happens for this test case is actually a separate bug. llvm-svn: 115668
* Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>.Douglas Gregor2010-10-054-0/+9
| | | | llvm-svn: 115667
* 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
* trailing whitespaceJim Grosbach2010-10-051-95/+95
| | | | llvm-svn: 115664
* move the rest of the simple 64-bit arithmetic into InstrArithmetic.tdChris Lattner2010-10-052-226/+195
| | | | llvm-svn: 115663
* Remove trailing space. This is just an excuse to poke theDuncan Sands2010-10-051-1/+1
| | | | | | buildbots, since I seem to have blown up the build master :( llvm-svn: 115662
* continue moving 64-bit stuff into X86InstrArithmetic.tdChris Lattner2010-10-052-300/+245
| | | | llvm-svn: 115660
* Added support for (de)materializing values in registers,Sean Callanan2010-10-051-41/+204
| | | | | | so that expressions can use them. llvm-svn: 115658
* Fix Punctuation.Michael J. Spencer2010-10-051-1/+1
| | | | llvm-svn: 115657
* MC-COFF: Fix (PR8278) temporary symbol relocations.Michael J. Spencer2010-10-052-31/+39
| | | | llvm-svn: 115656
* Add support for a fill value in the .zero directive.Rafael Espindola2010-10-052-3/+11
| | | | llvm-svn: 115655
* Add a test class to call lldb 'disassemble -n function' command on each call ↵Johnny Chen2010-10-051-0/+96
| | | | | | | | frame when stopped on C's ctor. This is not a long running test so it shall always be exercised. llvm-svn: 115653
* Make the test module with unique name instead of just the generic name ↵Johnny Chen2010-10-053-0/+8
| | | | | | | | TestDisassembly. Add a utility function to lldbtest.py to get the native pointer size of the host os. llvm-svn: 115652
* 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
* Fix a marvelous chained AST writing bug, where we end up with theDouglas Gregor2010-10-056-7/+45
| | | | | | | | | | | | | | | | | | | | | | | following amusing sequence: - AST writing schedules writing a type X* that it had never seen before - AST writing starts writing another declaration, ends up deserializing X* from a prior AST file. Now we have two type IDs for the same type! - AST writer tries to write X*. It only has the lower-numbered ID from the the prior AST file, so references to the higher-numbered ID that was scheduled for writing go off into lalaland. To fix this, keep the higher-numbered ID so we end up writing the type twice. Since this issue occurs so rarely, and type records are generally rather small, I deemed this better than the alternative: to keep a separate mapping from the higher-numbered IDs to the lower-numbered IDs, which we would end up having to check whenever we want to deserialize any type. Fixes <rdar://problem/8511624>, I think. llvm-svn: 115647
* 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
* Fix a block rewriter bug where copy/dispose entries in Fariborz Jahanian2010-10-053-1/+24
| | | | | | | | block descriptor for outer block was missing even though the block was importing objects into its inner blocks. //rdar://84995992 llvm-svn: 115644
* Implement a simple alias case and refactor the code a bit so that theRafael Espindola2010-10-052-17/+57
| | | | | | isInSymtab and isLocal logic in the two loops don't get easily out of sync. llvm-svn: 115643
* test/COFF: Fix symbol indexes and names. Update tests to match.Michael J. Spencer2010-10-053-20/+24
| | | | llvm-svn: 115642
* test/COFF: Remove temp file usage.Michael J. Spencer2010-10-053-7/+4
| | | | llvm-svn: 115641
* test/coff-dump: Support reading from stdin.Michael J. Spencer2010-10-051-1/+6
| | | | llvm-svn: 115640
* Cleanup Whitespace.Michael J. Spencer2010-10-051-2/+2
| | | | llvm-svn: 115639
* Fix handling of the 'Invalid' argument in SourceManager's methods (patch by ↵Zhanyong Wan2010-10-051-5/+14
| | | | | | Dean Sturtevant, reviewed by chandlerc and Sebastian Redl). llvm-svn: 115638
* Filename renamings.Johnny Chen2010-10-052-0/+0
| | | | llvm-svn: 115636
* Use a more efficient lowering of uint64_t --> float that can take advantage ↵Owen Anderson2010-10-052-6/+49
| | | | | | | | | 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
* A compiler writer's guide to <atomic>, minor updateHoward Hinnant2010-10-051-3/+9
| | | | llvm-svn: 115633
OpenPOWER on IntegriCloud