- Feb 26, 2008
-
-
Bill Wendling authored
llvm-svn: 47597
-
Bill Wendling authored
llvm-svn: 47596
-
Bill Wendling authored
llvm-svn: 47595
-
Arnold Schwaighofer authored
GOT-style position independent code. Before only tail calls to protected/hidden functions within the same module were optimized. Now all function calls are tail call optimized. llvm-svn: 47594
-
Arnold Schwaighofer authored
calls. Before arguments that could overwrite each other were explicitly lowered to a stack slot, not giving the register allocator a chance to optimize. Now a sequence of copyto/copyfrom virtual registers ensures that arguments are loaded in (virtual) registers before they are lowered to the stack slot (and might overwrite each other). Also parameter stack slots are marked mutable for (potentially) tail calling functions. llvm-svn: 47593
-
Evan Cheng authored
vr1 = extract_subreg vr2, 3 ... vr3 = extract_subreg vr1, 2 The end result is vr3 is equal to vr2 with subidx 2. llvm-svn: 47592
-
Chris Lattner authored
after legalize. Just because a constant is legal (e.g. 0.0 in SSE) doesn't mean that its negated value is legal (-0.0). We could make this stronger by checking to see if the negated constant is actually legal post negation, but it doesn't seem like a big deal. llvm-svn: 47591
-
Evan Cheng authored
operands into inline asm block. llvm-svn: 47589
-
Evan Cheng authored
llvm-svn: 47587
-
Devang Patel authored
llvm-svn: 47585
-
Nick Kledzik authored
llvm-svn: 47584
-
Devang Patel authored
Take 2. llvm-svn: 47583
-
Devang Patel authored
llvm-svn: 47577
-
Eli Friedman authored
llvm-svn: 47576
-
- Feb 25, 2008
-
-
Dan Gohman authored
pointed out that this isn't correct at -O0. llvm-svn: 47575
-
Andrew Lenharth authored
llvm-svn: 47574
-
Dale Johannesen authored
llvm-svn: 47573
-
Dan Gohman authored
and StoreSDNode into LSBaseSDNode. llvm-svn: 47570
-
Dan Gohman authored
{S,U}MUL_LOHI with an unused high value. llvm-svn: 47569
-
Dan Gohman authored
result into a MUL late in the X86 codegen process. ISD::MUL is once again Legal on X86, so this is no longer needed. And, the hack was suboptimal; see PR1874 for details. llvm-svn: 47567
-
Dan Gohman authored
llvm-svn: 47566
-
Chris Lattner authored
llvm-svn: 47563
-
Dan Gohman authored
a SignBitIsZero function to simplify a common use case. llvm-svn: 47561
-
Chris Lattner authored
llvm-svn: 47558
-
Evan Cheng authored
All remat'ed loads cannot be folded into two-address code. Not just argument loads. This change doesn't really have any impact on codegen. llvm-svn: 47557
-
Chris Lattner authored
llvm-svn: 47556
-
Chris Lattner authored
llvm-svn: 47555
-
Dale Johannesen authored
of TokenFactor underneath chain (seems to be enough) llvm-svn: 47554
-
Dan Gohman authored
that combines getValueType and MVT::getSizeInBits, since this occurrs frequently. llvm-svn: 47552
-
Duncan Sands authored
result and operand types are legal. llvm-svn: 47546
-
Evan Cheng authored
llvm-svn: 47545
-
Owen Anderson authored
not safe. This is fixed by more aggressively checking that the return slot is not used elsewhere in the function. llvm-svn: 47544
-
Evan Cheng authored
llvm-svn: 47542
-
Owen Anderson authored
Fix an issue where GVN would try to use an instruction before its definition when performing return slot optimization. llvm-svn: 47541
-
- Feb 24, 2008
-
-
Duncan Sands authored
out of illegal elements (BUILD_VECTOR). Uses and beefs up BUILD_PAIR, though it didn't really have to. Like most of LegalizeTypes, does not support soft-float. This cures all "make check" vector building failures. llvm-svn: 47537
-
Bill Wendling authored
%r3 on PPC) in their ASM files. However, it's hard for humans to read during debugging. Adding a new field to the register data that lets you specify a different name to be printed than the one that goes into the ASM file -- %x3 instead of %r3, for instance. llvm-svn: 47534
-
- Feb 23, 2008
-
-
Evan Cheng authored
llvm-svn: 47533
-
Scott Michel authored
for CellSPU modifications: - SPUInstrInfo.td refactoring: "multiclass" really is _your_ friend. - Other improvements based on refactoring effort in SPUISelLowering.cpp, esp. in SPUISelLowering::PerformDAGCombine(), where zero amount shifts and rotates are now eliminiated, other scalar-to-vector-to-scalar silliness is also eliminated. - 64-bit operations are being implemented, _muldi3.c gcc runtime now compiles and generates the right code. More work still needs to be done. llvm-svn: 47532
-
Zhou Sheng authored
llvm-svn: 47531
-
Evan Cheng authored
llvm-svn: 47529
-