- Feb 20, 2008
-
-
Bill Wendling authored
No need to go up more levels. A def of a register also sets its sub-registers (so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are not previously defined). llvm-svn: 47399
-
Bill Wendling authored
llvm-svn: 47395
-
Bill Wendling authored
llvm-svn: 47389
-
Devang Patel authored
llvm-svn: 47388
-
Duncan Sands authored
and splitting extract_subvector. This fixes nine "make check" testcases, for example 2008-02-04-ExtractSubvector.ll and (partially) CodeGen/Generic/vector.ll. llvm-svn: 47384
-
Dan Gohman authored
llvm-svn: 47383
-
Dan Gohman authored
llvm-svn: 47382
-
Dan Gohman authored
llvm-svn: 47381
-
Dan Gohman authored
llvm-svn: 47380
-
Anton Korobeynikov authored
llvm-svn: 47375
-
Anton Korobeynikov authored
llvm-svn: 47368
-
Anton Korobeynikov authored
llvm-svn: 47367
-
Bill Wendling authored
Added two "FIXMEs" for code that looks dubious to me (but I could be wrong). llvm-svn: 47366
-
Bill Wendling authored
changes. (Sorry for any formatting changes that creeped in.) llvm-svn: 47362
-
Chris Lattner authored
AddNodeIDNode does profiling for a ConstantSDNode, but so does SelectionDAG::getConstant. This profiling should be moved to a common static function in ConstantSDNode. llvm-svn: 47359
-
Bill Wendling authored
- Constified some MachineOperand values. - Added/Modified some comments. llvm-svn: 47358
-
- Feb 19, 2008
-
-
Devang Patel authored
llvm-svn: 47348
-
Evan Cheng authored
PR1909: Tail merging pass ran wild. It makes no sense to merge blocks in order to save a single instruction since a branch will be inserted for each BB. llvm-svn: 47301
-
Evan Cheng authored
- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type. - X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC. llvm-svn: 47290
-
- Feb 18, 2008
-
-
Evan Cheng authored
- For now, conservatively ignore copy MI whose source is a physical register. Commuting its def MI can cause a physical register live interval to be live through a loop (since we know it's live coming into the def MI). llvm-svn: 47281
-
Roman Levenstein authored
New helper function getMBBFromIndex() that given an index in any instruction of an MBB returns a pointer the MBB. Reviewed by Evan. llvm-svn: 47267
-
Evan Cheng authored
For now, avoid commuting def MI for copy MI's whose source is not killed. That simply trade a live interval for another and because only the non-two-address operands can be folded into loads, may end up pessimising code. llvm-svn: 47262
-
- Feb 16, 2008
-
-
Andrew Lenharth authored
I cannot find a libgcc function for this builtin. Therefor expanding it to a noop (which is how it use to be treated). If someone who knows the x86 backend better than me could tell me how to get a lock prefix on an instruction, that would be nice to complete x86 support. llvm-svn: 47213
-
Duncan Sands authored
br_cc. This fixes 5 "make check" failures. llvm-svn: 47212
-
Evan Cheng authored
llvm-svn: 47208
-
Andrew Lenharth authored
llvm-svn: 47204
-
Bill Wendling authored
llvm-svn: 47200
-
Dan Gohman authored
it actually does. Simplify CountOperands a little by reusing ComputeMemOperandsEnd. And reword some comments for both. llvm-svn: 47198
-
Dan Gohman authored
llvm-svn: 47196
-
Scott Michel authored
tblgen will complain if a sign-extended constant does not fit into a data type smaller than i32, e.g., i16. This causes a problem when certain hex constants are used, such as 0xff for byte masks or immediate xor values. tblgen will try the sign-extended value first and, if the sign extended value would overflow, it tries to see if the unsigned value will fit. Consequently, a software developer can now safely incant: (XORHIr16 R16C:$rA, 0xffff) which is somewhat clearer and more informative than incanting: (XORHIr16 R16C:$rA, (i16 -1)) even if the two are bitwise equivalent. Tblgen also outputs the 64-bit unsigned constant in the generated ISel code when getTargetConstant() is invoked. llvm-svn: 47188
-
- Feb 15, 2008
-
-
Evan Cheng authored
llvm-svn: 47179
-
Dan Gohman authored
with the TIED_TO attribute. llvm-svn: 47177
-
Dan Gohman authored
that should be checked for the TIED_TO attribute instead of using CountOperands. llvm-svn: 47176
-
Duncan Sands authored
in a ret node. These are created as i32 constants but on some platforms i32 is not legal. This fixes 26 "make check" failures, for example Alpha/2005-07-12-TwoMallocCalls.ll. llvm-svn: 47172
-
Evan Cheng authored
register defs and uses after each successful coalescing. - Also removed a number of hacks and fixed some subtle kill information bugs. llvm-svn: 47167
-
Evan Cheng authored
machine instr will change its definition register. llvm-svn: 47166
-
Evan Cheng authored
llvm-svn: 47164
-
Dan Gohman authored
with a hard-coded operand number. llvm-svn: 47163
-
- Feb 14, 2008
-
-
Chris Lattner authored
llvm-svn: 47128
-
Duncan Sands authored
the return value is zero-extended if it isn't sign-extended. It may also be any-extended. Also, if a floating point value was returned in a larger floating point type, pass 1 as the second operand to FP_ROUND, which tells it that all the precision is in the original type. I think this is right but I could be wrong. Finally, when doing libcalls, set isZExt on a parameter if it is "unsigned". Currently isSExt is set when signed, and nothing is set otherwise. This should be right for all calls to standard library routines. llvm-svn: 47122
-