- Dec 16, 2009
-
-
Bill Wendling authored
llvm-svn: 91552
-
Jakob Stoklund Olesen authored
Tail duplication produces lots of identical phi nodes in different basic blocks. Teach PHIElimination to reuse the join registers when lowering a phi node that is identical to an already lowered node. This saves virtual registers, and more importantly it avoids creating copies the the coalescer doesn't know how to eliminate. Teach LiveIntervalAnalysis about the phi joins with multiple uses. This patch significantly reduces code size produced by -pre-regalloc-taildup. llvm-svn: 91549
-
Daniel Dunbar authored
llvm-svn: 91536
-
Daniel Dunbar authored
problem", this broke llvm-gcc bootstrap for release builds on x86_64-apple-darwin10. This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9. llvm-svn: 91534
-
Daniel Dunbar authored
this", this broke llvm-gcc bootstrap for release builds on x86_64-apple-darwin10. llvm-svn: 91533
-
Chris Lattner authored
miscompile (i386.o miscompares) but it happens both with and without this patch. llvm-svn: 91532
-
Chris Lattner authored
llvm-svn: 91531
-
Chris Lattner authored
llvm-svn: 91530
-
Chris Lattner authored
SmallVectorBase::grow_pod out of line, finally satisfying PR3758. llvm-svn: 91529
-
Chris Lattner authored
is not used by anything performance sensitive, so just use std::string. llvm-svn: 91528
-
Chris Lattner authored
a fixed size buffer is perfectly fine. llvm-svn: 91527
-
Chris Lattner authored
common function. It is still an inline method, which will be fixed next. llvm-svn: 91526
-
Victor Hernandez authored
llvm-svn: 91524
-
Chris Lattner authored
SmallVectorTemplateBase class, which allows us to statically dispatch on isPodLike instead of dynamically. llvm-svn: 91523
-
Chris Lattner authored
down into SmallVectorImpl. This requires sprinking a ton of this->'s in, but gives us a place to factor. llvm-svn: 91522
-
Nick Lewycky authored
llvm-svn: 91521
-
Chris Lattner authored
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl. SmallVectorTemplateBase can be specialized based on isPodLike. llvm-svn: 91518
-
Victor Hernandez authored
MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to llvm-svn: 91497
-
Johnny Chen authored
bytes of Inst to 0x0000 for the benefit of the Thumb decoder. llvm-svn: 91496
-
Devang Patel authored
llvm-svn: 91495
-
Evan Cheng authored
llvm-svn: 91489
-
Chris Lattner authored
Will reapply with a fix when I get a chance. llvm-svn: 91486
-
Dale Johannesen authored
in local register allocator. If a reg-reg copy has a phys reg input and a virt reg output, and this is the last use of the phys reg, assign the phys reg to the virt reg. If a reg-reg copy has a phys reg output and we need to reload its spilled input, reload it directly into the phys reg than passing it through another reg. Following 76208, there is sometimes no dependency between the def of a phys reg and its use; this creates a window where that phys reg can be used for spilling (this is true in linear scan also). This is bad and needs to be fixed a better way, although 76208 works too well in practice to be reverted. However, there should normally be no spilling within inline asm blocks. The patch here goes a long way towards making this actually be true. llvm-svn: 91485
-
John McCall authored
llvm-svn: 91481
-
John McCall authored
enclosing namespace. Caught by clang++. llvm-svn: 91480
-
Bill Wendling authored
llvm-svn: 91479
-
Bill Wendling authored
llvm-svn: 91477
-
Bill Wendling authored
llvm-svn: 91475
-
- Dec 15, 2009
-
-
Jeffrey Yasskin authored
remove start/finishGVStub and the BufferState helper class from the MachineCodeEmitter interface. It has the side-effect of not setting the indirect global writable and then executable on ARM, but that shouldn't be necessary. llvm-svn: 91464
-
Bill Wendling authored
llvm-svn: 91463
-
Bob Wilson authored
found last time. Instead of trying to modify the IR while iterating over it, I've change it to keep a list of WeakVH references to dead instructions, and then delete those instructions later. I also added some special case code to detect and handle the situation when both operands of a memcpy intrinsic are referencing the same alloca. llvm-svn: 91459
-
Daniel Dunbar authored
llvm-svn: 91458
-
Dan Gohman authored
llvm-svn: 91448
-
Chris Lattner authored
real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. llvm-svn: 91444
-
Jim Grosbach authored
llvm-svn: 91442
-
Devang Patel authored
llvm-svn: 91440
-
Chris Lattner authored
llvm-svn: 91438
-
Johnny Chen authored
llvm-svn: 91434
-
Dan Gohman authored
llvm-svn: 91432
-
Chris Lattner authored
llvm-svn: 91428
-