Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Convert EXTRACT_SUBREG to COPY when emitting machine instrs. | Jakob Stoklund Olesen | 2010-07-08 | 1 | -17/+4 | |
| | | | | | | | | | EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879 | |||||
* | Revert 107840 107839 107813 107804 107800 107797 107791. | Dan Gohman | 2010-07-08 | 1 | -106/+66 | |
| | | | | | | Debug info intrinsics win for now. llvm-svn: 107850 | |||||
* | Don't forward-declare registers for static allocas, which we'll | Dan Gohman | 2010-07-07 | 1 | -1/+3 | |
| | | | | | | | prefer to materialize as local constants. This fixes the clang bootstrap abort. llvm-svn: 107840 | |||||
* | Implement bottom-up fast-isel. This has the advantage of not requiring | Dan Gohman | 2010-07-07 | 1 | -11/+32 | |
| | | | | | | a separate DCE pass over MachineInstrs. llvm-svn: 107804 | |||||
* | Give FunctionLoweringInfo an MBB member, avoiding the need to pass it | Dan Gohman | 2010-07-07 | 1 | -56/+73 | |
| | | | | | | | | around everywhere, and also give it an InsertPt member, to enable isel to operate at an arbitrary position within a block, rather than just appending to a block. llvm-svn: 107791 | |||||
* | Simplify FastISel's constructor by giving it a FunctionLoweringInfo | Dan Gohman | 2010-07-07 | 1 | -40/+26 | |
| | | | | | | | | | instance, rather than pointers to all of FunctionLoweringInfo's members. This eliminates an NDEBUG ABI sensitivity. llvm-svn: 107789 | |||||
* | Move FunctionLoweringInfo.h out into include/llvm/CodeGen. This will | Dan Gohman | 2010-07-07 | 1 | -1/+1 | |
| | | | | | | allow target-specific fast-isel code to make use of it directly. llvm-svn: 107787 | |||||
* | Rename CreateReg to CreateRegs, and MakeReg to CreateReg. | Dan Gohman | 2010-07-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 107451 | |||||
* | Rename CreateRegForValue to CreateReg, and change its argument | Dan Gohman | 2010-07-01 | 1 | -1/+1 | |
| | | | | | | | from a Value to a Type, because it doesn't actually care about the Value. llvm-svn: 107383 | |||||
* | Teach fast-isel to avoid loading a value from memory when it's already | Dan Gohman | 2010-07-01 | 1 | -0/+24 | |
| | | | | | | | available in a register. This is pretty primitive, but it reduces the number of instructions in common testcases by 4%. llvm-svn: 107380 | |||||
* | Enable on-demand fast-isel. | Dan Gohman | 2010-07-01 | 1 | -1/+4 | |
| | | | | llvm-svn: 107377 | |||||
* | Do one lookup instead of two. | Dan Gohman | 2010-06-21 | 1 | -2/+3 | |
| | | | | llvm-svn: 106415 | |||||
* | Generalize this to look in the regular ValueMap in addition to | Dan Gohman | 2010-06-21 | 1 | -1/+1 | |
| | | | | | | | the LocalValueMap, to make it more flexible when fast-isel isn't proceding straight top-down. llvm-svn: 106414 | |||||
* | Teach regular and fast isel to set dead flags on unused implicit defs | Dan Gohman | 2010-06-18 | 1 | -0/+1 | |
| | | | | | | on calls and similar instructions. llvm-svn: 106353 | |||||
* | Eliminate unnecessary uses of getZExtValue(). | Dan Gohman | 2010-06-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 106279 | |||||
* | Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). This | Stuart Hastings | 2010-06-17 | 1 | -3/+3 | |
| | | | | | | | | | | | | addresses a longstanding deficiency noted in many FIXMEs scattered across all the targets. This effectively moves the problem up one level, replacing eleven FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path through FastISel where we actually supply a DebugLoc, fixing Radar 7421831. llvm-svn: 106243 | |||||
* | Do one map lookup instead of two. | Dan Gohman | 2010-05-25 | 1 | -2/+3 | |
| | | | | llvm-svn: 104645 | |||||
* | Fast ISel trivially coalesces away no-op casts, so check for this when | Dan Gohman | 2010-05-14 | 1 | -4/+16 | |
| | | | | | | setting kill flags. llvm-svn: 103832 | |||||
* | An Instruction has a trivial kill only if its use is in the same | Dan Gohman | 2010-05-13 | 1 | -2/+5 | |
| | | | | | | basic block. llvm-svn: 103725 | |||||
* | Add initial kill flag support to FastISel. | Dan Gohman | 2010-05-11 | 1 | -60/+136 | |
| | | | | llvm-svn: 103529 | |||||
* | Verify variable directly. | Devang Patel | 2010-05-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 103305 | |||||
* | Transfer debug location information from PHI nodes to resulting | Dan Gohman | 2010-05-07 | 1 | -0/+8 | |
| | | | | | | lowered copies. llvm-svn: 103228 | |||||
* | Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it | Dan Gohman | 2010-05-06 | 1 | -11/+11 | |
| | | | | | | doesn't have to guess. llvm-svn: 103194 | |||||
* | In bottom-up mode, defer the materialization of local constant values. | Dan Gohman | 2010-05-06 | 1 | -0/+11 | |
| | | | | llvm-svn: 103139 | |||||
* | Add an "IsBottomUp" member function to FastISel, which will be used to | Dan Gohman | 2010-05-05 | 1 | -1/+2 | |
| | | | | | | support a new bottom-up mode. llvm-svn: 103138 | |||||
* | Factor out FastISel's code for materializing constants and other values | Dan Gohman | 2010-05-03 | 1 | -1/+10 | |
| | | | | | | | in registers into a separate function to de-couple it from the top-down-specific logic in getRegForValue. llvm-svn: 102975 | |||||
* | While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca ↵ | Devang Patel | 2010-04-28 | 1 | -11/+11 | |
| | | | | | | matching llvm.dbg.declare intrinsic is missing. llvm-svn: 102513 | |||||
* | Add comment re byval args. Doesn't actually work this way yet. | Dale Johannesen | 2010-04-25 | 1 | -1/+3 | |
| | | | | | | xs llvm-svn: 102316 | |||||
* | Move FastISel's HandlePHINodesInSuccessorBlocks call down into FastISel | Dan Gohman | 2010-04-23 | 1 | -0/+6 | |
| | | | | | | itself too. llvm-svn: 102176 | |||||
* | Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel | Dan Gohman | 2010-04-22 | 1 | -1/+67 | |
| | | | | | | and into SelectionDAGBuilder and FastISel. llvm-svn: 102123 | |||||
* | Fix a comment. | Dan Gohman | 2010-04-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 102110 | |||||
* | Don't send PHI nodes down to SelectionDAGBuilder of FastISel, since | Dan Gohman | 2010-04-20 | 1 | -4/+4 | |
| | | | | | | they end up doing nothing. llvm-svn: 101904 | |||||
* | Sink DebugLoc handling out of SelectionDAGISel into FastISel and | Dan Gohman | 2010-04-20 | 1 | -2/+9 | |
| | | | | | | SelectionDAGBuilder, where it doesn't have to be as complicated. llvm-svn: 101848 | |||||
* | Add const qualifiers to CodeGen's use of LLVM IR constructs. | Dan Gohman | 2010-04-15 | 1 | -33/+33 | |
| | | | | llvm-svn: 101334 | |||||
* | Factor out EH landing pad code into a separate function, and constify | Dan Gohman | 2010-04-14 | 1 | -1/+1 | |
| | | | | | | a bunch of stuff to support it. llvm-svn: 101273 | |||||
* | Generalize this code to handle Instructions in addition to ConstantExprs. | Dan Gohman | 2010-04-14 | 1 | -3/+3 | |
| | | | | llvm-svn: 101210 | |||||
* | Add a few comments. | Dan Gohman | 2010-04-13 | 1 | -0/+5 | |
| | | | | llvm-svn: 101148 | |||||
* | Move printing of target-indepedent DEBUG_VALUE comments | Dale Johannesen | 2010-04-07 | 1 | -1/+3 | |
| | | | | | | | into AsmPrinter. Target-dependent form is still generated by FastISel and still handled in X86 code. llvm-svn: 100596 | |||||
* | unthread MMI from FastISel | Chris Lattner | 2010-04-05 | 1 | -38/+31 | |
| | | | | llvm-svn: 100416 | |||||
* | fastisel doesn't need DwarfWriter, remove some tendricles. | Chris Lattner | 2010-04-05 | 1 | -5/+2 | |
| | | | | llvm-svn: 100381 | |||||
* | Switch the code generator (except the JIT) onto the new DebugLoc | Chris Lattner | 2010-04-02 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. llvm-svn: 100209 | |||||
* | add new apis for getting/setting !dbg metadata on | Chris Lattner | 2010-03-31 | 1 | -4/+3 | |
| | | | | | | | | | instructions. In addition to being a convenience, they are faster than the old apis, particularly when not going from an MDKindID like people should be doing. llvm-svn: 99982 | |||||
* | Remove dead include. | Daniel Dunbar | 2010-03-11 | 1 | -1/+0 | |
| | | | | llvm-svn: 98225 | |||||
* | Move dbg_value generation to target-independent FastISel, | Dale Johannesen | 2010-02-26 | 1 | -0/+28 | |
| | | | | | | as X86 is currently the only FastISel target. Per review. llvm-svn: 97255 | |||||
* | Fix comments to reflect renaming elsewhere. | Dale Johannesen | 2010-02-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 95730 | |||||
* | move target-independent opcodes out of TargetInstrInfo | Chris Lattner | 2010-02-09 | 1 | -2/+2 | |
| | | | | | | | | | into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687 | |||||
* | After Victor's latest commits I am seeing null | Dale Johannesen | 2010-02-06 | 1 | -0/+2 | |
| | | | | | | | addresses in dbg.declare; ignore this for the moment to prevent things from breaking. llvm-svn: 95471 | |||||
* | Generate DEBUG_VALUE comments on x86. The (limited) | Dale Johannesen | 2010-01-26 | 1 | -0/+3 | |
| | | | | | | | dbg.declare's we currently generate go through both register allocators without perturbing the results. llvm-svn: 94480 | |||||
* | Revert 93811 per request. | Dale Johannesen | 2010-01-19 | 1 | -3/+0 | |
| | | | | llvm-svn: 93818 | |||||
* | Enable code to emit dbg.declare as DEBUG_VALUE | Dale Johannesen | 2010-01-18 | 1 | -0/+3 | |
| | | | | | | | | | comments (fast isel, X86). This doesn't seem to break any functionality, but will introduce cases where -g affects the generated code. I'll be fixing that. llvm-svn: 93811 |