- Sep 15, 2008
-
-
Dan Gohman authored
x86_ssecallcc, function notes, and some whitespace adjustments. llvm-svn: 56221
-
- Sep 12, 2008
-
-
Dan Gohman authored
ConstantFP* instead of APInt and APFloat directly. This reduces the amount of time to create ConstantSDNode and ConstantFPSDNode nodes when ConstantInt* and ConstantFP* respectively are already available, as is the case in SelectionDAGBuild.cpp. Also, it reduces the amount of time to legalize constants into constant pools, and the amount of time to add ConstantFP operands to MachineInstrs, due to eliminating ConstantInt::get and ConstantFP::get calls. It increases the amount of work needed to create new constants in cases where the client doesn't already have a ConstantInt* or ConstantFP*, such as legalize expanding 64-bit integer constants to 32-bit constants. And it adds a layer of indirection for the accessor methods. But these appear to be outweight by the benefits in most cases. It will also make it easier to make ConstantSDNode and ConstantFPNode more consistent with ConstantInt and ConstantFP. llvm-svn: 56162
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
- Sep 11, 2008
-
-
Evan Cheng authored
llvm-svn: 56107
-
Jim Grosbach authored
by its first field, but TableGen doesn't actually enforce creating it that way. TableGen sorts the records that will be used to create it by the names of the records, not the Name field of those records. This patch corrects the sort to use the "Name" field of the record as the sort key. llvm-svn: 56106
-
Evan Cheng authored
Change getSubReg semantics. It now returns zero if the specified register doesn't have a subreg of the specified index. llvm-svn: 56099
-
- Sep 08, 2008
-
-
Dan Gohman authored
llvm-svn: 55916
-
Evan Cheng authored
Correctly handle physical register inputs. They are not explicit input operands in the resulting machine instrs. llvm-svn: 55893
-
- Sep 07, 2008
-
-
Evan Cheng authored
llvm-svn: 55878
-
Evan Cheng authored
llvm-svn: 55876
-
Evan Cheng authored
def : Pat<(i8 (trunc GR32:$src)), (i8 (EXTRACT_SUBREG (MOV32to32_ GR32:$src), x86_subreg_8bit))> llvm-svn: 55875
-
- Sep 03, 2008
-
-
Evan Cheng authored
Let tblgen only generate fastisel routines, not the class definition. This makes it easier for targets to define its own fastisel class. llvm-svn: 55679
-
- Sep 02, 2008
-
-
Evan Cheng authored
Change getBinaryCodeForInstr prototype. First operand MachineInstr& should be const. Make corresponding changes. llvm-svn: 55623
-
- Aug 29, 2008
-
-
Owen Anderson authored
llvm-svn: 55545
-
Dan Gohman authored
llvm-svn: 55512
-
Gabor Greif authored
that brings us to 80-col violations or tabs. Usage: visit-violations <file> At the moment it outputs editor invocations. llvm-svn: 55509
-
- Aug 28, 2008
-
-
Gabor Greif authored
llvm-svn: 55504
-
Owen Anderson authored
Add support for fast-isel of opcodes that require use of extract_subreg. Because of how extract_subreg is treated, it requires special case handling. llvm-svn: 55480
-
- Aug 27, 2008
-
-
Dan Gohman authored
llvm-svn: 55418
-
Dan Gohman authored
llvm-svn: 55401
-
Gabor Greif authored
llvm-svn: 55394
-
- Aug 26, 2008
-
-
Dan Gohman authored
put each major step in a separate function. This makes the high level sequence of events easier to follow. llvm-svn: 55385
-
Cedric Venet authored
- fix to please VS: add a return after an assert. llvm-svn: 55380
-
Owen Anderson authored
have a return type that differs from the operand types. llvm-svn: 55376
-
Chris Lattner authored
llvm-svn: 55363
-
Chris Lattner authored
in the example attached to PR2590, but is a problem in general. llvm-svn: 55361
-
Chris Lattner authored
llvm-svn: 55360
-
Chris Lattner authored
orders, part of PR2590 llvm-svn: 55359
-
Owen Anderson authored
Throw the switch to allow FastISel to emit instructions whose return types different from their inputs. Next step: adding lowering pattens in FastISel that actually use these newly available opcodes. llvm-svn: 55349
-
Owen Anderson authored
Enhance TableGen to emit code for FastISel of opcodes with variadic return types without slowing down opcodes that are not variadic. No such opcodes are currently generated, but in theory it should be a matter of just hitting the switch. llvm-svn: 55347
-
Owen Anderson authored
Add a RetVT parameter to emitted FastISel methods, so that we will be able to pass the desired return type down. This is not currently used. llvm-svn: 55345
-
Owen Anderson authored
Deepen the map structure tablegen uses to compute FastISel patterns, in preparation for having patterns with return types that differ from their input types. This is not yet used. llvm-svn: 55344
-
- Aug 25, 2008
-
-
Owen Anderson authored
bitcast of constants in fast isel. llvm-svn: 55325
-
- Aug 23, 2008
-
-
Dan Gohman authored
process up to a higher level. This allows FastISel to leverage more of SelectionDAGISel's infastructure, such as updating Machine PHI nodes. Also, implement transitioning from SDISel back to FastISel in the middle of a block, so it's now possible to go back and forth. This allows FastISel to hand individual CallInsts and other complicated things off to SDISel to handle, while handling the rest of the block itself. To help support this, reorganize the SelectionDAG class so that it is allocated once and reused throughout a function, instead of being completely reallocated for each block. llvm-svn: 55219
-
- Aug 22, 2008
-
-
Dan Gohman authored
llvm-svn: 55157
-
Dan Gohman authored
and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. llvm-svn: 55156
-
- Aug 21, 2008
-
-
Dan Gohman authored
llvm-svn: 55099
-
Dan Gohman authored
llvm-svn: 55096
-
Dan Gohman authored
llvm-svn: 55093
-
- Aug 20, 2008
-
-
Dan Gohman authored
llvm-svn: 55080
-