- Aug 27, 2008
-
-
Dan Gohman authored
llvm-svn: 55431
-
Evan Cheng authored
llvm-svn: 55430
-
Owen Anderson authored
Use TargetLowering to get the types in fast isel, which handles pointer types correctly for our purposes. llvm-svn: 55428
-
Dan Gohman authored
just try to do the action and let the tablegen-generated code determine if there is target-support for an operation. llvm-svn: 55427
-
Dan Gohman authored
the details of materializing constants and other values into registers, and make use of it in several places. llvm-svn: 55426
-
Dan Gohman authored
llvm-svn: 55425
-
Dan Gohman authored
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
-
Dan Gohman authored
a scratch std::vector. llvm-svn: 55420
-
Dan Gohman authored
which isn't needed anymore. llvm-svn: 55419
-
Dan Gohman authored
llvm-svn: 55401
-
Owen Anderson authored
llvm-svn: 55400
-
Owen Anderson authored
llvm-svn: 55399
-
Owen Anderson authored
This simultaneously makes the code simpler and adds support for sext as well. llvm-svn: 55398
-
Owen Anderson authored
llvm-svn: 55396
-
Gabor Greif authored
llvm-svn: 55394
-
Owen Anderson authored
llvm-svn: 55393
-
- Aug 26, 2008
-
-
Dan Gohman authored
of two, and to not need a scratch std::vector. Also, use the SelectionDAG's topological sort in LegalizeDAG instead of having a separate implementation. llvm-svn: 55389
-
Dan Gohman authored
llvm-svn: 55387
-
Dan Gohman authored
llvm-svn: 55384
-
Dan Gohman authored
llvm-svn: 55383
-
Owen Anderson authored
llvm-svn: 55381
-
Owen Anderson authored
allowing it to support the full range of conversions people might ask for in a correct manner. llvm-svn: 55378
-
Owen Anderson authored
was inserted or not. This allows bitcast in fast isel to properly handle the case where an appropriate reg-to-reg copy is not available. llvm-svn: 55375
-
Owen Anderson authored
llvm-svn: 55373
-
Chris Lattner authored
llvm-svn: 55355
-
Dan Gohman authored
RecyclingAllocator, but this change is needed for the nodes to actually be recycled. This cuts SelectionDAG's memory usage high-water-mark in half in some cases. llvm-svn: 55351
-
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
-
Evan Cheng authored
llvm-svn: 55342
-
- Aug 25, 2008
-
-
Owen Anderson authored
Expand bitcast support in fast isel to support bitcasts of non-constant values by emitting reg-reg copies. llvm-svn: 55340
-
Owen Anderson authored
bitcast of constants in fast isel. llvm-svn: 55325
-
- Aug 24, 2008
-
-
Chris Lattner authored
simplify PseudoSourceValue printing a bit. Unnest all of PseudoSourceValue.cpp from the llvm namespace. llvm-svn: 55293
-
Evan Cheng authored
llvm-svn: 55291
-
Chris Lattner authored
llvm-svn: 55288
-
Chris Lattner authored
really nice if someone converted MachineFunction::print to raw_ostream. llvm-svn: 55268
-
Chris Lattner authored
use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
-
- Aug 23, 2008
-
-
Dan Gohman authored
llvm-svn: 55220
-
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
-
Dan Gohman authored
i8* getelementptr. DAGCombine eliminates these, but this is a fairly common case. llvm-svn: 55214
-
Dan Gohman authored
llvm-svn: 55212
-
- Aug 22, 2008
-
-
Dan Gohman authored
llvm-svn: 55205
-