Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rename CreateRegForValue to CreateReg, and change its argument | Dan Gohman | 2010-07-01 | 1 | -2/+2 | |
| | | | | | | | from a Value to a Type, because it doesn't actually care about the Value. llvm-svn: 107383 | |||||
* | Reapply r106422, splitting the code for materializing a value out of | Dan Gohman | 2010-07-01 | 1 | -11/+53 | |
| | | | | | | | SelectionDAGBuilder::getValue into a helper function, with fixes to use DenseMaps safely. llvm-svn: 107371 | |||||
* | Don't use operator[] here, because it's not desirable to insert a default | Dan Gohman | 2010-07-01 | 1 | -2/+5 | |
| | | | | | | value if the search fails. llvm-svn: 107368 | |||||
* | Remove an unused variable. The call to getRoot has side-effects, so | Duncan Sands | 2010-06-30 | 1 | -1/+0 | |
| | | | | | | this could break something (but doesn't seem to). llvm-svn: 107295 | |||||
* | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -6/+6 | |
| | | | | llvm-svn: 107279 | |||||
* | Remove initialized but otherwise unused variables. | Duncan Sands | 2010-06-29 | 1 | -2/+0 | |
| | | | | llvm-svn: 107127 | |||||
* | The hasMemory argument is irrelevant to how the argument | Dale Johannesen | 2010-06-25 | 1 | -2/+2 | |
| | | | | | | | | | for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893 | |||||
* | Remove variables which are assigned to but for which the value | Duncan Sands | 2010-06-25 | 1 | -1/+0 | |
| | | | | | | is not used. Spotted by gcc-4.6. llvm-svn: 106854 | |||||
* | use ArgOperand API | Gabor Greif | 2010-06-25 | 1 | -140/+140 | |
| | | | | llvm-svn: 106836 | |||||
* | Simplify this code; switch lowering shouldn't produce cases | Dan Gohman | 2010-06-24 | 1 | -12/+4 | |
| | | | | | | which trivially fold away. llvm-svn: 106765 | |||||
* | Optimize the "bit test" code path for switch lowering in the | Dan Gohman | 2010-06-24 | 1 | -15/+27 | |
| | | | | | | case where the bit mask has exactly one bit. llvm-svn: 106716 | |||||
* | Revert r106422, which is breaking the non-fast-isel path. | Dan Gohman | 2010-06-21 | 1 | -49/+11 | |
| | | | | llvm-svn: 106423 | |||||
* | More changes for non-top-down fast-isel. | Dan Gohman | 2010-06-21 | 1 | -11/+49 | |
| | | | | | | | | | | Split the code for materializing a value out of SelectionDAGBuilder::getValue into a helper function, so that it can be used in other ways. Add a new getNonRegisterValue function which uses it, for use in code which doesn't want a CopyFromReg even when FuncMap.ValueMap already has an entry for it. llvm-svn: 106422 | |||||
* | Eliminate unnecessary uses of getZExtValue(). | Dan Gohman | 2010-06-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 106279 | |||||
* | Keep track of incoming debug value of unused argument. | Devang Patel | 2010-06-01 | 1 | -1/+11 | |
| | | | | | | Radar 7927666. llvm-svn: 105285 | |||||
* | Reorder some code in SelectionDAGBuilder. | Dan Gohman | 2010-05-29 | 1 | -313/+311 | |
| | | | | llvm-svn: 105105 | |||||
* | SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue | Dan Gohman | 2010-05-29 | 1 | -43/+44 | |
| | | | | | | | shouldn't have a TargetLoweringInfo member. And FunctionLoweringInfo::set doesn't needs its EnableFastISel argument. llvm-svn: 105101 | |||||
* | Eliminate the restriction that the array size in an alloca must be i32. | Dan Gohman | 2010-05-28 | 1 | -5/+6 | |
| | | | | | | This will help reduce the amount of casting required on 64-bit targets. llvm-svn: 104911 | |||||
* | back out 104862/104869. Can reuse stacksave after all. Very cool. | Jim Grosbach | 2010-05-27 | 1 | -4/+0 | |
| | | | | llvm-svn: 104897 | |||||
* | hook ISD::STACKADDR to an intrinsic | Jim Grosbach | 2010-05-27 | 1 | -0/+4 | |
| | | | | llvm-svn: 104869 | |||||
* | Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in | Jim Grosbach | 2010-05-26 | 1 | -1/+7 | |
| | | | | | | ISD::. No functional change. llvm-svn: 104734 | |||||
* | Implement eh.sjlj.longjmp for ARM. Clean up the intrinsic a bit. | Jim Grosbach | 2010-05-22 | 1 | -0/+5 | |
| | | | | | | | Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match longjmp. llvm-svn: 104419 | |||||
* | I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it | Duncan Sands | 2010-05-11 | 1 | -1/+1 | |
| | | | | | | | to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. llvm-svn: 103495 | |||||
* | Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! | Douglas Gregor | 2010-05-11 | 1 | -0/+6 | |
| | | | | llvm-svn: 103457 | |||||
* | Verify variable directly. | Devang Patel | 2010-05-07 | 1 | -2/+2 | |
| | | | | llvm-svn: 103305 | |||||
* | Use getValue() for PHINodes when direct NodeMap access does not work. | Devang Patel | 2010-05-05 | 1 | -1/+15 | |
| | | | | llvm-svn: 103126 | |||||
* | Don't pass SDValues by non-const reference unless they may be | Dan Gohman | 2010-05-01 | 1 | -1/+2 | |
| | | | | | | modified. llvm-svn: 102816 | |||||
* | Reorgnaize more switch code lowering to clean up some tricky | Dan Gohman | 2010-05-01 | 1 | -1/+0 | |
| | | | | | | | | | | | code, and to eliminate the need for the SelectionDAGBuilder state to be live during CodeGenAndEmitDAG calls. Call SDB->clear() before CodeGenAndEmitDAG calls instead of before it, and move the CurDAG->clear() out of SelectionDAGBuilder, which doesn't own the DAG, and into CodeGenAndEmitDAG. llvm-svn: 102814 | |||||
* | Delete the EdgeMapping variable itself. | Dan Gohman | 2010-05-01 | 1 | -1/+0 | |
| | | | | llvm-svn: 102810 | |||||
* | Refactor. | Devang Patel | 2010-04-29 | 1 | -4/+2 | |
| | | | | llvm-svn: 102661 | |||||
* | DO not push DBG_VALUE machine instructions for inlined fuction arguments in ↵ | Devang Patel | 2010-04-29 | 1 | -0/+7 | |
| | | | | | | entry block. llvm-svn: 102653 | |||||
* | Re-enable 102565 with fixes. | Evan Cheng | 2010-04-29 | 1 | -9/+7 | |
| | | | | llvm-svn: 102602 | |||||
* | Temporarily disable my changes to unbreak the build. | Evan Cheng | 2010-04-29 | 1 | -0/+4 | |
| | | | | llvm-svn: 102590 | |||||
* | Do not generate duplicate dbg_value instructions for function arguments. | Evan Cheng | 2010-04-29 | 1 | -8/+10 | |
| | | | | llvm-svn: 102585 | |||||
* | Avoid emitting a dbg_value machineinstr that's not going to be inserted into ↵ | Evan Cheng | 2010-04-29 | 1 | -0/+2 | |
| | | | | | | entry block. llvm-svn: 102581 | |||||
* | Check Reg against zero. | Evan Cheng | 2010-04-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 102573 | |||||
* | tidy up. | Devang Patel | 2010-04-28 | 1 | -8/+2 | |
| | | | | llvm-svn: 102558 | |||||
* | Replace r102368 with code that's less fragile. This creates DBG_VALUE ↵ | Evan Cheng | 2010-04-28 | 1 | -0/+36 | |
| | | | | | | instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554 | |||||
* | Ignore DBG_VALUE instructions that points to undef values. | Devang Patel | 2010-04-27 | 1 | -5/+0 | |
| | | | | llvm-svn: 102463 | |||||
* | Revert a small part of 102372; this fixes at least one | Dale Johannesen | 2010-04-27 | 1 | -0/+5 | |
| | | | | | | | | of the dbg testsuite regressions. I don't think this is really the right fix; this change exposed an existing problem upstream somewhere. llvm-svn: 102410 | |||||
* | Remove crufty comments. | Dale Johannesen | 2010-04-26 | 1 | -5/+0 | |
| | | | | llvm-svn: 102380 | |||||
* | Add DBG_VALUE handling for byval parameters; this | Dale Johannesen | 2010-04-26 | 1 | -22/+68 | |
| | | | | | | | produces a comment on targets that support it, but the Dwarf writer is not hooked up yet. llvm-svn: 102372 | |||||
* | Sink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks down | Dan Gohman | 2010-04-22 | 1 | -0/+4 | |
| | | | | | | into SelectionDAGBuilder itself. llvm-svn: 102128 | |||||
* | Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel | Dan Gohman | 2010-04-22 | 1 | -77/+13 | |
| | | | | | | and into SelectionDAGBuilder and FastISel. llvm-svn: 102123 | |||||
* | Move PHINodesToUpdate out of SelectionDAGBuilder and into | Dan Gohman | 2010-04-22 | 1 | -5/+5 | |
| | | | | | | | | | FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't completely natural, as PHI node state is not per-function but rather per-basic-block, however there's currently no other convenient per-basic-block state to group it with. llvm-svn: 102109 | |||||
* | Move several SelectionDAG-independent utility functions out of the | Dan Gohman | 2010-04-21 | 1 | -0/+1 | |
| | | | | | | SelectionDAG directory and into a new Analysis.cpp file. llvm-svn: 101975 | |||||
* | Sink the CopyToExportRegsIfNeeded calls out of SelectionDAGISel | Dan Gohman | 2010-04-20 | 1 | -0/+3 | |
| | | | | | | | | into SelectionDAGBuilder. This avoids a separate pass over the instructions, and has the side effect of providing debug location information to the copy. llvm-svn: 101906 | |||||
* | Don't send PHI nodes down to SelectionDAGBuilder of FastISel, since | Dan Gohman | 2010-04-20 | 1 | -0/+4 | |
| | | | | | | they end up doing nothing. llvm-svn: 101904 | |||||
* | Sink DebugLoc handling out of SelectionDAGISel into FastISel and | Dan Gohman | 2010-04-20 | 1 | -0/+4 | |
| | | | | | | SelectionDAGBuilder, where it doesn't have to be as complicated. llvm-svn: 101848 | |||||
* | Eliminate the CurMBB member from SelectionDAGBuilder. For places that | Dan Gohman | 2010-04-19 | 1 | -58/+80 | |
| | | | | | | | need it, just pass around the parent block of the current instruction explicitly. llvm-svn: 101822 |