summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Don't forget the newline in debug output.Dan Gohman2008-09-251-1/+1
| | | | llvm-svn: 56613
* FastISel support for debug info.Dan Gohman2008-09-253-3/+117
| | | | llvm-svn: 56610
* bug 2812: Segmentation fault on a big emdiam processor.Richard Pennington2008-09-251-1/+1
| | | | llvm-svn: 56609
* Fix a recent fast-isel coverage regression - don't bail out beforeDan Gohman2008-09-251-3/+4
| | | | | | giving the target a chance to materialize constants. llvm-svn: 56605
* Enable DeadMachineInstructionElim when Fast-ISel is enabled.Dan Gohman2008-09-252-3/+13
| | | | llvm-svn: 56604
* Add debug output to this pass.Dan Gohman2008-09-251-0/+2
| | | | llvm-svn: 56602
* Refactor the code that adds standard LLVM codegen passes intoDan Gohman2008-09-251-109/+44
| | | | | | | a separate function, eliminating duplication between the add-passes-for-file and add-passes-for-machine-code code. llvm-svn: 56599
* <rdar://problem/6234798> Assertion failed: ↵Evan Cheng2008-09-251-2/+5
| | | | | | (!OpInfo.AssignedRegs.Regs.empty() && "Couldn't allocate input reg!") llvm-svn: 56597
* Give LowerSubregs.cpp a top-level description.Dan Gohman2008-09-241-0/+7
| | | | llvm-svn: 56596
* Remove SelectionDag early allocation of registersDale Johannesen2008-09-243-41/+61
| | | | | | | for earlyclobbers. Teach Local RA about earlyclobber, and add some tests for it. llvm-svn: 56592
* Use helperAnton Korobeynikov2008-09-241-8/+2
| | | | llvm-svn: 56584
* SmallPtrSet will be betterAnton Korobeynikov2008-09-241-3/+2
| | | | llvm-svn: 56583
* Use generic section-handling stuff to emit constant pool entriesAnton Korobeynikov2008-09-241-45/+36
| | | | llvm-svn: 56579
* Get rid of duplicate char*/Section* DataSectionAnton Korobeynikov2008-09-242-5/+5
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-243-11/+13
| | | | llvm-svn: 56574
* Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.Anton Korobeynikov2008-09-241-3/+13
| | | | llvm-svn: 56573
* Drop obsolete hook and change all usage to new interfaceAnton Korobeynikov2008-09-241-6/+1
| | | | llvm-svn: 56572
* Provide direct function to switch to SectionAnton Korobeynikov2008-09-241-0/+20
| | | | llvm-svn: 56571
* Fix off-by-one error when updating live intervals.Owen Anderson2008-09-241-1/+1
| | | | llvm-svn: 56567
* Reapplying r56550Bill Wendling2008-09-241-13/+13
| | | | llvm-svn: 56553
* Forgot this part with my last patch. Sorry about the breakage.Bill Wendling2008-09-241-27/+38
| | | | llvm-svn: 56552
* Temporarily revert r56550 until missing commit can be added.Eric Christopher2008-09-241-13/+13
| | | | llvm-svn: 56551
* Refactor the constant folding code into it's own function. And call it from bothBill Wendling2008-09-241-13/+13
| | | | | | | | | | the SelectionDAG and DAGCombiner code. The only functionality change is that now the DAG combiner is performing the constant folding for these operations instead of being a no-op. This is *not* in response to a bug, so there isn't a testcase. llvm-svn: 56550
* Next round of earlyclobber handling. Approach theDale Johannesen2008-09-249-176/+38
| | | | | | | | | | RA problem by expanding the live interval of an earlyclobber def back one slot. Remove overlap-earlyclobber throughout. Remove earlyclobber bits and their handling from live internals. llvm-svn: 56539
* Refactor the logic for testing if an instruction is dead into aDan Gohman2008-09-241-37/+48
| | | | | | separate method. llvm-svn: 56531
* Set SetStore to false, to allow this pass to deleteDan Gohman2008-09-241-1/+2
| | | | | | dead loads. llvm-svn: 56529
* Add a method to MachineInstr for testing whether it makesDan Gohman2008-09-241-9/+30
| | | | | | any volatile memory references. llvm-svn: 56528
* Properly handle 'm' inline asm constraints. If a GV is being selected for ↵Evan Cheng2008-09-242-5/+25
| | | | | | the addressing mode, it requires the same logic for PIC relative addressing, etc. llvm-svn: 56526
* s/ParameterAttributes/Attributes/gDevang Patel2008-09-232-2/+0
| | | | llvm-svn: 56513
* Now that DeadMachineInstructionElim is basically workingDan Gohman2008-09-231-6/+0
| | | | | | | correctly, it's not necessary to explicitly remove registers from their use-def lists. llvm-svn: 56509
* Arrange for FastISel code to have access to the MachineModuleInfoDan Gohman2008-09-232-5/+10
| | | | | | object. This will be needed to support debug info. llvm-svn: 56508
* Track local physical register liveness. This is not the mostDan Gohman2008-09-231-3/+53
| | | | | | | efficient implementation possible, but it's pretty simple and good enough for the time being. llvm-svn: 56504
* Replace the LiveRegs SmallSet with a simple counter that keepsDan Gohman2008-09-232-23/+29
| | | | | | | track of the number of live registers, which is all the set was being used for. llvm-svn: 56498
* Add initial support for inserting last minute copies.Owen Anderson2008-09-231-28/+53
| | | | llvm-svn: 56485
* Fix the alignment of loads from constant pool entries when theDan Gohman2008-09-222-1/+7
| | | | | | | load address has an offset from the base of the constant pool entry. llvm-svn: 56479
* Livestacks really does preserve everything.Evan Cheng2008-09-221-2/+1
| | | | llvm-svn: 56476
* Instead of setPreservesAll, just mark them preseving machine loop info and ↵Evan Cheng2008-09-226-6/+12
| | | | | | machine dominators. llvm-svn: 56475
* Significant improvements to the logic for merging live intervals. This code ↵Owen Anderson2008-09-221-15/+53
| | | | | | | | | can't just use LI::MergeValueAsValue, as its behavior in the presence of overlapping ranges isn't what StrongPHIElimination wants. llvm-svn: 56472
* Make log, log2, log10, exp, exp2 use Expand byDale Johannesen2008-09-221-0/+12
| | | | | | default. llvm-svn: 56471
* Mark several codegen passes as preserving all analysis.Evan Cheng2008-09-228-8/+26
| | | | llvm-svn: 56469
* More refactoring. Yawn.Dale Johannesen2008-09-221-126/+43
| | | | llvm-svn: 56468
* Refactor FP intrinisic setup. Per review feedback.Dale Johannesen2008-09-221-117/+28
| | | | llvm-svn: 56456
* Per review feedback: Only performEvan Cheng2008-09-221-39/+27
| | | | | | | (srl x, (trunc (and y, c))) -> (srl x, (and (trunc y), c)) etc. when both "trunc" and "and" have single uses. llvm-svn: 56452
* Initial support for the CMake build system.Oscar Fuentes2008-09-223-0/+74
| | | | llvm-svn: 56419
* Add helper function to get a 32-bit floating point constant. No ↵Bill Wendling2008-09-221-189/+106
| | | | | | functionality change. llvm-svn: 56418
* Factor out code into HandleVirtRegDef, for consistency withDan Gohman2008-09-211-13/+12
| | | | | | | Handle{Virt,Phys}Reg{Def,Use}. Remove a redundant check for register zero, and redundant checks for isPhysicalRegister. llvm-svn: 56412
* Fetch the starting index of the block when assigning intervals. This gets ↵Owen Anderson2008-09-211-2/+2
| | | | | | | | live-in indices correct in the presence of things like EH labels. llvm-svn: 56410
* don't print GlobalAddressSDNode's with an offset of zero as "foo0".Chris Lattner2008-09-211-5/+6
| | | | llvm-svn: 56399
* Teach coalescer about earlyclobber bits.Dale Johannesen2008-09-202-2/+17
| | | | | | Check bits for preferred register. llvm-svn: 56384
* Fix PR2808. When regalloc runs out of register, it spill a physical register ↵Evan Cheng2008-09-201-1/+4
| | | | | | around the live interval being allocated. Do not continue to try to spill another register, just grab the physical register and move on. llvm-svn: 56381
OpenPOWER on IntegriCloud