Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't forget the newline in debug output. | Dan Gohman | 2008-09-25 | 1 | -1/+1 |
| | | | | llvm-svn: 56613 | ||||
* | FastISel support for debug info. | Dan Gohman | 2008-09-25 | 3 | -3/+117 |
| | | | | llvm-svn: 56610 | ||||
* | bug 2812: Segmentation fault on a big emdiam processor. | Richard Pennington | 2008-09-25 | 1 | -1/+1 |
| | | | | llvm-svn: 56609 | ||||
* | Fix a recent fast-isel coverage regression - don't bail out before | Dan Gohman | 2008-09-25 | 1 | -3/+4 |
| | | | | | | giving the target a chance to materialize constants. llvm-svn: 56605 | ||||
* | Enable DeadMachineInstructionElim when Fast-ISel is enabled. | Dan Gohman | 2008-09-25 | 2 | -3/+13 |
| | | | | llvm-svn: 56604 | ||||
* | Add debug output to this pass. | Dan Gohman | 2008-09-25 | 1 | -0/+2 |
| | | | | llvm-svn: 56602 | ||||
* | Refactor the code that adds standard LLVM codegen passes into | Dan Gohman | 2008-09-25 | 1 | -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 Cheng | 2008-09-25 | 1 | -2/+5 |
| | | | | | | (!OpInfo.AssignedRegs.Regs.empty() && "Couldn't allocate input reg!") llvm-svn: 56597 | ||||
* | Give LowerSubregs.cpp a top-level description. | Dan Gohman | 2008-09-24 | 1 | -0/+7 |
| | | | | llvm-svn: 56596 | ||||
* | Remove SelectionDag early allocation of registers | Dale Johannesen | 2008-09-24 | 3 | -41/+61 |
| | | | | | | | for earlyclobbers. Teach Local RA about earlyclobber, and add some tests for it. llvm-svn: 56592 | ||||
* | Use helper | Anton Korobeynikov | 2008-09-24 | 1 | -8/+2 |
| | | | | llvm-svn: 56584 | ||||
* | SmallPtrSet will be better | Anton Korobeynikov | 2008-09-24 | 1 | -3/+2 |
| | | | | llvm-svn: 56583 | ||||
* | Use generic section-handling stuff to emit constant pool entries | Anton Korobeynikov | 2008-09-24 | 1 | -45/+36 |
| | | | | llvm-svn: 56579 | ||||
* | Get rid of duplicate char*/Section* DataSection | Anton Korobeynikov | 2008-09-24 | 2 | -5/+5 |
| | | | | llvm-svn: 56575 | ||||
* | Get rid of duplicate char*/Section* TextSection | Anton Korobeynikov | 2008-09-24 | 3 | -11/+13 |
| | | | | llvm-svn: 56574 | ||||
* | Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic. | Anton Korobeynikov | 2008-09-24 | 1 | -3/+13 |
| | | | | llvm-svn: 56573 | ||||
* | Drop obsolete hook and change all usage to new interface | Anton Korobeynikov | 2008-09-24 | 1 | -6/+1 |
| | | | | llvm-svn: 56572 | ||||
* | Provide direct function to switch to Section | Anton Korobeynikov | 2008-09-24 | 1 | -0/+20 |
| | | | | llvm-svn: 56571 | ||||
* | Fix off-by-one error when updating live intervals. | Owen Anderson | 2008-09-24 | 1 | -1/+1 |
| | | | | llvm-svn: 56567 | ||||
* | Reapplying r56550 | Bill Wendling | 2008-09-24 | 1 | -13/+13 |
| | | | | llvm-svn: 56553 | ||||
* | Forgot this part with my last patch. Sorry about the breakage. | Bill Wendling | 2008-09-24 | 1 | -27/+38 |
| | | | | llvm-svn: 56552 | ||||
* | Temporarily revert r56550 until missing commit can be added. | Eric Christopher | 2008-09-24 | 1 | -13/+13 |
| | | | | llvm-svn: 56551 | ||||
* | Refactor the constant folding code into it's own function. And call it from both | Bill Wendling | 2008-09-24 | 1 | -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 the | Dale Johannesen | 2008-09-24 | 9 | -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 a | Dan Gohman | 2008-09-24 | 1 | -37/+48 |
| | | | | | | separate method. llvm-svn: 56531 | ||||
* | Set SetStore to false, to allow this pass to delete | Dan Gohman | 2008-09-24 | 1 | -1/+2 |
| | | | | | | dead loads. llvm-svn: 56529 | ||||
* | Add a method to MachineInstr for testing whether it makes | Dan Gohman | 2008-09-24 | 1 | -9/+30 |
| | | | | | | any volatile memory references. llvm-svn: 56528 | ||||
* | Properly handle 'm' inline asm constraints. If a GV is being selected for ↵ | Evan Cheng | 2008-09-24 | 2 | -5/+25 |
| | | | | | | the addressing mode, it requires the same logic for PIC relative addressing, etc. llvm-svn: 56526 | ||||
* | s/ParameterAttributes/Attributes/g | Devang Patel | 2008-09-23 | 2 | -2/+0 |
| | | | | llvm-svn: 56513 | ||||
* | Now that DeadMachineInstructionElim is basically working | Dan Gohman | 2008-09-23 | 1 | -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 MachineModuleInfo | Dan Gohman | 2008-09-23 | 2 | -5/+10 |
| | | | | | | object. This will be needed to support debug info. llvm-svn: 56508 | ||||
* | Track local physical register liveness. This is not the most | Dan Gohman | 2008-09-23 | 1 | -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 keeps | Dan Gohman | 2008-09-23 | 2 | -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 Anderson | 2008-09-23 | 1 | -28/+53 |
| | | | | llvm-svn: 56485 | ||||
* | Fix the alignment of loads from constant pool entries when the | Dan Gohman | 2008-09-22 | 2 | -1/+7 |
| | | | | | | | load address has an offset from the base of the constant pool entry. llvm-svn: 56479 | ||||
* | Livestacks really does preserve everything. | Evan Cheng | 2008-09-22 | 1 | -2/+1 |
| | | | | llvm-svn: 56476 | ||||
* | Instead of setPreservesAll, just mark them preseving machine loop info and ↵ | Evan Cheng | 2008-09-22 | 6 | -6/+12 |
| | | | | | | machine dominators. llvm-svn: 56475 | ||||
* | Significant improvements to the logic for merging live intervals. This code ↵ | Owen Anderson | 2008-09-22 | 1 | -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 by | Dale Johannesen | 2008-09-22 | 1 | -0/+12 |
| | | | | | | default. llvm-svn: 56471 | ||||
* | Mark several codegen passes as preserving all analysis. | Evan Cheng | 2008-09-22 | 8 | -8/+26 |
| | | | | llvm-svn: 56469 | ||||
* | More refactoring. Yawn. | Dale Johannesen | 2008-09-22 | 1 | -126/+43 |
| | | | | llvm-svn: 56468 | ||||
* | Refactor FP intrinisic setup. Per review feedback. | Dale Johannesen | 2008-09-22 | 1 | -117/+28 |
| | | | | llvm-svn: 56456 | ||||
* | Per review feedback: Only perform | Evan Cheng | 2008-09-22 | 1 | -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 Fuentes | 2008-09-22 | 3 | -0/+74 |
| | | | | llvm-svn: 56419 | ||||
* | Add helper function to get a 32-bit floating point constant. No ↵ | Bill Wendling | 2008-09-22 | 1 | -189/+106 |
| | | | | | | functionality change. llvm-svn: 56418 | ||||
* | Factor out code into HandleVirtRegDef, for consistency with | Dan Gohman | 2008-09-21 | 1 | -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 Anderson | 2008-09-21 | 1 | -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 Lattner | 2008-09-21 | 1 | -5/+6 |
| | | | | llvm-svn: 56399 | ||||
* | Teach coalescer about earlyclobber bits. | Dale Johannesen | 2008-09-20 | 2 | -2/+17 |
| | | | | | | Check bits for preferred register. llvm-svn: 56384 | ||||
* | Fix PR2808. When regalloc runs out of register, it spill a physical register ↵ | Evan Cheng | 2008-09-20 | 1 | -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 |