summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fast ISel trivially coalesces away no-op casts, so check for this whenDan Gohman2010-05-141-4/+16
| | | | | | setting kill flags. llvm-svn: 103832
* Don't bother spilling before a returnJakob Stoklund Olesen2010-05-141-4/+13
| | | | llvm-svn: 103831
* RegAllocLocal can count copies tooJakob Stoklund Olesen2010-05-141-1/+4
| | | | llvm-svn: 103830
* SystemZ really does mean "has calls" and not just "adjusts stack." Go ahead andBill Wendling2010-05-141-5/+5
| | | | | | | | replace the check with the appropriate predicate. Modify the testcase to reflect the correct code. (It should be saving callee-saved registers on the stack allocated by the calling fuction.) llvm-svn: 103829
* Track allocatable instead of reserved regs, and never take an unallocatable ↵Jakob Stoklund Olesen2010-05-141-8/+10
| | | | | | hint. llvm-svn: 103828
* Don't set kill flags for instructions which the scheduler has cloned.Dan Gohman2010-05-142-20/+34
| | | | llvm-svn: 103827
* BR is a barrier.Dan Gohman2010-05-141-1/+1
| | | | llvm-svn: 103826
* Several tail call tests apparently rely upon this being "adjusts stack" insteadBill Wendling2010-05-141-1/+1
| | | | | | | of "has calls". That's probably wrong, but it needs further investigation. Revert to the original behavior until this is settled. llvm-svn: 103824
* Avoid scanning the long tail of physreg operands on callsJakob Stoklund Olesen2010-05-141-4/+9
| | | | llvm-svn: 103823
* Do not forget to mark prcessed arguments.Devang Patel2010-05-141-0/+1
| | | | llvm-svn: 103822
* Count coalesced copiesJakob Stoklund Olesen2010-05-141-0/+2
| | | | llvm-svn: 103821
* Allow virtreg redefines when verifying for RegAllocFastJakob Stoklund Olesen2010-05-141-1/+1
| | | | llvm-svn: 103820
* This should happen if there are no calls, not if it just doesn't adjust theBill Wendling2010-05-141-1/+1
| | | | | | stack. llvm-svn: 103813
* Revert r103804. The comment is correct.Bill Wendling2010-05-142-2/+2
| | | | llvm-svn: 103808
* Remove trailing whitespaceJim Grosbach2010-05-141-3/+3
| | | | llvm-svn: 103807
* 80 column and trailing whitespace cleanupJim Grosbach2010-05-141-24/+25
| | | | llvm-svn: 103806
* add cmd line option to leave dbgvalues in during post-RA sceduling. UsefulJim Grosbach2010-05-141-5/+14
| | | | | | while debugging what's mishandled about them in the post-RA pass. llvm-svn: 103805
* Fix comment.Bill Wendling2010-05-141-1/+1
| | | | llvm-svn: 103804
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-1416-54/+69
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* Lowering of atomic instructions can result in operands beingDan Gohman2010-05-141-1/+7
| | | | | | | used more than once. If ISel had put a kill flag on one of them, it's not valid to transfer the kill flag to each new instance. llvm-svn: 103799
* Add support to preserve type info for the variables that are removed by the ↵Devang Patel2010-05-143-16/+42
| | | | | | optimizer. llvm-svn: 103798
* When verifying two-address instructions, check the following:Jakob Stoklund Olesen2010-05-142-12/+21
| | | | | | | | | - Kill is implicit when use and def registers are identical. - Only virtual registers can differ. Add a -verify-fast-regalloc to run the verifier before the fast allocator. llvm-svn: 103797
* Fix so "int3" is correctly accepted, added "into" and fixed "int" with anKevin Enderby2010-05-141-2/+4
| | | | | | argument, like "int $4", to not get an Assertion error. llvm-svn: 103791
* Model VLD*_UPD and VLD*odd_UPD pair with REG_SEQUENCE.Evan Cheng2010-05-142-26/+88
| | | | llvm-svn: 103790
* MC/Mach-O/x86_64: Darwin's special "signed_N" relocation types should only beDaniel Dunbar2010-05-141-23/+23
| | | | | | used to replace a normal relocation, not a reference to a GOT entry. llvm-svn: 103789
* Simplify the handling of physreg defs and uses in RegAllocFast.Jakob Stoklund Olesen2010-05-141-109/+72
| | | | | | | This adds extra security against using clobbered physregs, and it adds kill markers to physreg uses. llvm-svn: 103784
* Set isTerminator on TRAP instructions.Dan Gohman2010-05-142-2/+2
| | | | llvm-svn: 103778
* Don't use isBarrier for the PowerPC sync instruction. isBarrier is forDan Gohman2010-05-141-1/+0
| | | | | | control barriers, not memory ordering barriers. llvm-svn: 103777
* Add mayLoad and mayStore flags to instructions which missed them.Dan Gohman2010-05-142-2/+15
| | | | llvm-svn: 103776
* XFAIL the test I added with vg_leak, apparently it is the first and only llcDaniel Dunbar2010-05-141-0/+2
| | | | | | | -filetype=obj test, and -filetype=obj leaks a few objects. Added a FIXME, we need to sort out the ownership model for the various MC objects. llvm-svn: 103769
* Inline Asm: Ensure buffer is newline terminated to match how the text is ↵Daniel Dunbar2010-05-141-0/+14
| | | | | | | | printed. - This is a hack, but I can't decide the best place to handle this. Chris? llvm-svn: 103765
* Enable opportunistic coalescingJakob Stoklund Olesen2010-05-141-7/+18
| | | | llvm-svn: 103764
* Added a QQQQ register file to model 4-consecutive Q registers.Evan Cheng2010-05-146-52/+189
| | | | llvm-svn: 103760
* Add AsmParser support for darwin tbss directive.Eric Christopher2010-05-144-1/+84
| | | | | | Nothing uses this yet. llvm-svn: 103757
* Fix a couple of typos.Eric Christopher2010-05-141-2/+2
| | | | llvm-svn: 103756
* MC: Switch to completely lazy layout.Daniel Dunbar2010-05-141-19/+35
| | | | | | - The eliminates the last major algorithmic problem with MC. llvm-svn: 103754
* MC: Extend MCAsmLayout to explicitly track which fragments have been layed ↵Daniel Dunbar2010-05-141-10/+44
| | | | | | out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order. llvm-svn: 103753
* MC: Implicitly assign section addresses when the previous fragment is layed out.Daniel Dunbar2010-05-141-1/+11
| | | | llvm-svn: 103752
* MC: Switch MCFragment to storing the layout order index, not its index in ↵Daniel Dunbar2010-05-141-13/+14
| | | | | | the file. llvm-svn: 103751
* MC: Change LayoutSection() to only do the section initializiation.Daniel Dunbar2010-05-141-25/+13
| | | | | | Also, elimminate MCAsmLayout::set*, which are no longer needed. llvm-svn: 103750
* Fix comments.Evan Cheng2010-05-141-2/+2
| | | | llvm-svn: 103749
* Trust kill flags from isel and later passes.Jakob Stoklund Olesen2010-05-141-4/+0
| | | | llvm-svn: 103748
* Fix an embarrassing runtime regression for RegAllocFast.Jakob Stoklund Olesen2010-05-141-9/+31
| | | | | | | | | | | | This loop is quadratic in the capacity for a DenseMap: while(!map.empty()) map.erase(map.begin()); Instead we now do a normal begin() - end() iteration followed by map.clear(). That also has the nice sideeffect of shrinking the map capacity on demand. llvm-svn: 103747
* Adding a v8i64 512-bit vector type. This will be used to model ARM NEON ↵Evan Cheng2010-05-131-0/+6
| | | | | | intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers. llvm-svn: 103746
* Implement a correct ui64->f32 conversion. The oldDale Johannesen2010-05-131-0/+36
| | | | | | one was subject to double rounding in extreme cases. llvm-svn: 103744
* Clean up RegAllocFast debug outputJakob Stoklund Olesen2010-05-131-15/+14
| | | | llvm-svn: 103739
* MC: Move Layout{Fragment,Section} into MCAsmLayout, and add LayoutFile().Daniel Dunbar2010-05-131-26/+27
| | | | llvm-svn: 103738
* Teach MachineLICM and MachineSink how to clear kill flags conservativelyDan Gohman2010-05-133-1/+27
| | | | | | when they move instructions. llvm-svn: 103737
* Add comment about the pseudo registers QQ, each of which is a pair of Q ↵Evan Cheng2010-05-131-0/+5
| | | | | | registers. llvm-svn: 103731
* Fix pr7110: For non-Darwin targets UnspilledCS1GPRs may include high registers.Bob Wilson2010-05-131-1/+3
| | | | | | Do not use those for Thumb1 functions. llvm-svn: 103730
OpenPOWER on IntegriCloud