Commits

Show all
Author Commit Message Labels Comments Date
Dan Gohman
Fix a missing #include. Patch by Andrew John Hughes.
Tags
2 tags
Dan Gohman
Reorganize the lifetimes of the major objects SelectionDAGISel 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 o…
Owen Anderson
Add a helper method that will be used to support EXTRACT_SUBREG for selecting trunc's in fast-isel.
Tags
2 tags
Bill Wendling
Make "movdq2q" and "movq2dq" dependent upon having SSE2 because they use the SSE2 registers as well as the MMX registers.
Bill Wendling
Put file scoped constants in an anonymous namespace. Use the "using namespace llvm" for consistency.
Evan Cheng
Move the check whether it's worth remating to caller.
Devang Patel
Do not apply the transformation if the target does not support DestTy natively.
Devang Patel
Backout 55429
Dan Gohman
Fix FastISel's bitcast code for the case where getRegForValue fails.
Evan Cheng
Refactor isSafeToReMat out of 2addr pass.
Devang Patel
Add facility to create a target.
Owen Anderson
Use TargetLowering to get the types in fast isel, which handles pointer types correctly for our purposes.
Dan Gohman
Don't check TLI.getOperationAction. The FastISel way is to just try to do the action and let the tablegen-generated code determine if there is target-support for an operation.
Dan Gohman
Add a new FastISel method, getRegForValue, which takes care of the details of materializing constants and other values into registers, and make use of it in several places.
Dan Gohman
Add a comment about the current floating-point constant code in FastISel.
Devang Patel
Fix typos and whitespaces. Other cosmetic changes based on feedback.
Chris Lattner
Minor cleanup.
Dan Gohman
Reinstate the x86-64 portion of r55190. When doing extloads into 64-bit registers from 16-bit and smaller memory locations, prefer instructions that define the entire 64-bit register, to avoid partial-register updates.
Dan Gohman
Optimize ScheduleDAGRRList's topological sort to use one pass instead 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.
Dan Gohman
Optimize ScheduleDAG's ComputeDepths and ComputeHeights to not need a scratch std::vector.
Dan Gohman
Remove the std::ostream form of PseudoSourceValue's print, which isn't needed anymore.
Dan Gohman
Update a comment to reflect recent changes.
Dan Gohman
Unbreak PseudoSourceValue::print. This fixes -print-machine-instrs and various other things.
Dan Gohman
Diagnose uses of unsized types with the byval attribute in the verifier. See PR2711 for details.
Dan Gohman
Update wording, as aggregates are now first-class.
Evan Cheng
Add DebugInfoBuilder. Patch by Talin!
Dan Gohman
Basic FastISel support for floating-point constants.
Owen Anderson
Fix handling of inttoptr and ptrtoint when unhandled operands are present.
Owen Anderson
Add support for fast isel of inttoptr and ptrtoint in the cases where truncation is not needed.
Owen Anderson
Factor out a large amoutn of the cast handling code in fast isel into helper methods. This simultaneously makes the code simpler and adds support for sext as well.
  1. Prev
  2. Next