| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add a target callback for FastISel. | Dan Gohman | 2008-08-28 | 2 | -2/+27 | |
| | | | | | llvm-svn: 55512 | |||||
| * | remove tabs, fix > 80 cols | Gabor Greif | 2008-08-28 | 1 | -10/+16 | |
| | | | | | llvm-svn: 55511 | |||||
| * | rename destroy -> releaseMemory to properly hook into passmgr. | Chris Lattner | 2008-08-28 | 1 | -2/+2 | |
| | | | | | llvm-svn: 55508 | |||||
| * | Add support for JIT exceptions on Darwin. Since we're dealing with libgcc, | Nicolas Geoffray | 2008-08-28 | 1 | -2/+135 | |
| | | | | | | | | whose darwin code was written after the ability to dynamically register frames, we need to do special hacks to make things work. llvm-svn: 55507 | |||||
| * | erect abstraction boundaries for accessing SDValue members, rename Val -> ↵ | Gabor Greif | 2008-08-28 | 34 | -1105/+1113 | |
| | | | | | | | Node to reflect semantics llvm-svn: 55504 | |||||
| * | Implement null and undef values for FastISel. | Dan Gohman | 2008-08-28 | 1 | -0/+5 | |
| | | | | | llvm-svn: 55500 | |||||
| * | In lowering SELECT_CC, removed cases where we can't flip the true and false ↵ | Mon P Wang | 2008-08-28 | 1 | -8/+0 | |
| | | | | | | | when the compare value has a NaN llvm-svn: 55499 | |||||
| * | Optimize DAGCombiner's worklist processing. Previously it started | Dan Gohman | 2008-08-28 | 1 | -77/+102 | |
| | | | | | | | | | | | | | | its work by putting all nodes in the worklist, requiring a big dynamic allocation. Now, DAGCombiner just iterates over the AllNodes list and maintains a worklist for nodes that are newly created or need to be revisited. This allows the worklist to stay small in most cases, so it can be a SmallVector. This has the side effect of making DAGCombine not miss a folding opportunity in alloca-align-rounding.ll. llvm-svn: 55498 | |||||
| * | Move CaseBlock, JumpTable, and BitTestBlock to be members of | Dan Gohman | 2008-08-28 | 1 | -80/+77 | |
| | | | | | | | | | SelectionDAGLowering instead of being in an anonymous namespace. This fixes warnings about SelectionDAGLowering having fields using anonymous namespaces. llvm-svn: 55497 | |||||
| * | Fix a FastISel bug where the instructions from lowering the arguments | Dan Gohman | 2008-08-28 | 1 | -12/+16 | |
| | | | | | | | were being emitted after the first instructions of the entry block. llvm-svn: 55496 | |||||
| * | Use resize instead of reserve. Reserve doesn't change size(). | Rafael Espindola | 2008-08-28 | 1 | -1/+1 | |
| | | | | | llvm-svn: 55486 | |||||
| * | Reduce the size of the Parts vector. | Rafael Espindola | 2008-08-28 | 1 | -3/+4 | |
| | | | | | llvm-svn: 55483 | |||||
| * | Hook up support for fast-isel of trunc instructions, using the newly working ↵ | Owen Anderson | 2008-08-28 | 1 | -1/+4 | |
| | | | | | | | support for EXTRACT_SUBREG. llvm-svn: 55482 | |||||
| * | Implement partial-word binary atomics on ppc. | Dale Johannesen | 2008-08-28 | 3 | -0/+219 | |
| | | | | | llvm-svn: 55478 | |||||
| * | FastEmitInst_extractsubreg doesn't need to be passed the register class. It ↵ | Owen Anderson | 2008-08-28 | 1 | -2/+2 | |
| | | | | | | | can get it from MachineRegisterInfo instead. llvm-svn: 55476 | |||||
| * | Revert r55467; it causes regressions in UnitTests/Vector/divides, | Dan Gohman | 2008-08-28 | 2 | -68/+4 | |
| | | | | | | | Benchmarks/sim/sim, and others on x86-64. llvm-svn: 55475 | |||||
| * | Correctly resize the Parts array. | Rafael Espindola | 2008-08-28 | 1 | -1/+1 | |
| | | | | | llvm-svn: 55471 | |||||
| * | If a copy isn't coalesced, but its src is defined by trivial computation. ↵ | Evan Cheng | 2008-08-28 | 2 | -4/+68 | |
| | | | | | | | Re-materialize the src to replace the copy. llvm-svn: 55467 | |||||
| * | FsFLD0S{S|D} and V_SETALLONES are as cheap as moves. | Evan Cheng | 2008-08-28 | 1 | -3/+3 | |
| | | | | | llvm-svn: 55466 | |||||
| * | Make the verifier reject instructions which have null pointers | Chris Lattner | 2008-08-28 | 1 | -0/+11 | |
| | | | | | | | | for operands: rdar://6179606. no testcase, because I can't write a .ll file that is this broken ;-) llvm-svn: 55460 | |||||
| * | Clear the intervals list in "destroy", patch by | Chris Lattner | 2008-08-28 | 1 | -0/+1 | |
| | | | | | | | Prakash Prabhu! llvm-svn: 55458 | |||||
| * | Split the ATOMIC NodeType's to include the size, e.g. | Dale Johannesen | 2008-08-28 | 7 | -300/+558 | |
| | | | | | | | | | | | | | | | | | ATOMIC_LOAD_ADD_{8,16,32,64} instead of ATOMIC_LOAD_ADD. Increased the Hardcoded Constant OpActionsCapacity to match. Large but boring; no functional change. This is to support partial-word atomics on ppc; i8 is not a valid type there, so by the time we get to lowering, the ATOMIC_LOAD nodes looks the same whether the type was i8 or i32. The information can be added to the AtomicSDNode, but that is the largest SDNode; I don't fully understand the SDNode allocation, but it is sensitive to the largest node size, so increasing that must be bad. This is the alternative. llvm-svn: 55457 | |||||
| * | Reorganize the lifetimes of the major objects SelectionDAGISel | Dan Gohman | 2008-08-27 | 2 | -232/+345 | |
| | | | | | | | | | | | | | | | | | | | | | works with. SelectionDAG, FunctionLoweringInfo, and SelectionDAGLowering objects now get created once per SelectionDAGISel instance, and can be reused across blocks and across functions. Previously, they were created and destroyed each time they were needed. This reorganization simplifies the handling of PHI nodes, and also SwitchCases, JumpTables, and BitTestBlocks. This simplification has the side effect of fixing a bug in FastISel where successor PHI nodes weren't being updated correctly. This is also a step towards making the transition from FastISel into and out of SelectionDAG faster, and also making plain SelectionDAG faster on code with lots of little blocks. llvm-svn: 55450 | |||||
| * | Add a helper method that will be used to support EXTRACT_SUBREG for ↵ | Owen Anderson | 2008-08-27 | 1 | -0/+11 | |
| | | | | | | | selecting trunc's in fast-isel. llvm-svn: 55439 | |||||
| * | Make "movdq2q" and "movq2dq" dependent upon having SSE2 because they use the | Bill Wendling | 2008-08-27 | 2 | -7/+11 | |
| | | | | | | | SSE2 registers as well as the MMX registers. llvm-svn: 55436 | |||||
| * | Put file scoped constants in an anonymous namespace. Use the "using namespace | Bill Wendling | 2008-08-27 | 1 | -3/+5 | |
| | | | | | | | llvm" for consistency. llvm-svn: 55435 | |||||
| * | Move the check whether it's worth remating to caller. | Evan Cheng | 2008-08-27 | 2 | -3/+2 | |
| | | | | | llvm-svn: 55434 | |||||
| * | Do not apply the transformation if the target does not support DestTy natively. | Devang Patel | 2008-08-27 | 1 | -2/+9 | |
| | | | | | llvm-svn: 55433 | |||||
| * | Fix FastISel's bitcast code for the case where getRegForValue fails. | Dan Gohman | 2008-08-27 | 1 | -1/+4 | |
| | | | | | llvm-svn: 55431 | |||||
| * | Refactor isSafeToReMat out of 2addr pass. | Evan Cheng | 2008-08-27 | 2 | -29/+26 | |
| | | | | | llvm-svn: 55430 | |||||
| * | Use TargetLowering to get the types in fast isel, which handles pointer ↵ | Owen Anderson | 2008-08-27 | 1 | -4/+4 | |
| | | | | | | | types correctly for our purposes. llvm-svn: 55428 | |||||
| * | Don't check TLI.getOperationAction. The FastISel way is to | Dan Gohman | 2008-08-27 | 1 | -6/+2 | |
| | | | | | | | | just try to do the action and let the tablegen-generated code determine if there is target-support for an operation. llvm-svn: 55427 | |||||
| * | Add a new FastISel method, getRegForValue, which takes care of | Dan Gohman | 2008-08-27 | 1 | -133/+95 | |
| | | | | | | | | the details of materializing constants and other values into registers, and make use of it in several places. llvm-svn: 55426 | |||||
| * | Add a comment about the current floating-point constant code in FastISel. | Dan Gohman | 2008-08-27 | 1 | -0/+6 | |
| | | | | | llvm-svn: 55425 | |||||
| * | Fix typos and whitespaces. Other cosmetic changes based on feedback. | Devang Patel | 2008-08-27 | 1 | -12/+9 | |
| | | | | | llvm-svn: 55424 | |||||
| * | Minor cleanup. | Chris Lattner | 2008-08-27 | 1 | -16/+15 | |
| | | | | | llvm-svn: 55423 | |||||
| * | Reinstate the x86-64 portion of r55190. When doing extloads into | Dan Gohman | 2008-08-27 | 1 | -9/+8 | |
| | | | | | | | | | 64-bit registers from 16-bit and smaller memory locations, prefer instructions that define the entire 64-bit register, to avoid partial-register updates. llvm-svn: 55422 | |||||
| * | Optimize ScheduleDAGRRList's topological sort to use one pass instead | Dan Gohman | 2008-08-27 | 1 | -19/+8 | |
| | | | | | | | | | of two, and to not need a scratch std::vector. Also, compute the ordering immediately in the result array, instead of in another scratch std::vector that is copied to the result array. llvm-svn: 55421 | |||||
| * | Optimize ScheduleDAG's ComputeDepths and ComputeHeights to not need | Dan Gohman | 2008-08-27 | 1 | -14/+14 | |
| | | | | | | | a scratch std::vector. llvm-svn: 55420 | |||||
| * | Remove the std::ostream form of PseudoSourceValue's print, | Dan Gohman | 2008-08-27 | 1 | -3/+0 | |
| | | | | | | | which isn't needed anymore. llvm-svn: 55419 | |||||
| * | Diagnose uses of unsized types with the byval attribute in the | Dan Gohman | 2008-08-27 | 1 | -0/+11 | |
| | | | | | | | verifier. See PR2711 for details. llvm-svn: 55414 | |||||
| * | Update wording, as aggregates are now first-class. | Dan Gohman | 2008-08-27 | 1 | -3/+2 | |
| | | | | | llvm-svn: 55413 | |||||
| * | Add DebugInfoBuilder. Patch by Talin! | Evan Cheng | 2008-08-27 | 1 | -0/+272 | |
| | | | | | llvm-svn: 55409 | |||||
| * | Basic FastISel support for floating-point constants. | Dan Gohman | 2008-08-27 | 1 | -0/+74 | |
| | | | | | llvm-svn: 55401 | |||||
| * | Fix handling of inttoptr and ptrtoint when unhandled operands are present. | Owen Anderson | 2008-08-27 | 1 | -2/+6 | |
| | | | | | llvm-svn: 55400 | |||||
| * | Add support for fast isel of inttoptr and ptrtoint in the cases where ↵ | Owen Anderson | 2008-08-27 | 1 | -0/+19 | |
| | | | | | | | truncation is not needed. llvm-svn: 55399 | |||||
| * | Factor out a large amoutn of the cast handling code in fast isel into helper ↵ | Owen Anderson | 2008-08-26 | 1 | -107/+81 | |
| | | | | | | | | | methods. This simultaneously makes the code simpler and adds support for sext as well. llvm-svn: 55398 | |||||
| * | Add support for fast isel of zext. | Owen Anderson | 2008-08-26 | 1 | -0/+29 | |
| | | | | | llvm-svn: 55396 | |||||
| * | disallow direct access to SDValue::ResNo, provide a getter instead | Gabor Greif | 2008-08-26 | 15 | -69/+69 | |
| | | | | | llvm-svn: 55394 | |||||
| * | Add support for fptosi of constants in fast isel. | Owen Anderson | 2008-08-26 | 1 | -3/+29 | |
| | | | | | llvm-svn: 55393 | |||||

