- Dec 18, 2009
-
-
Bill Wendling authored
llvm-svn: 91635
-
Bill Wendling authored
non-landing pad basic block as the successor to a block that ends in an unconditional jump will cause block folding to remove the added block as a successor. Thus eventually removing it AND the landing pad entirely. Critical edge splitting is an optimization, so we can safely turn it off when dealing with landing pads. llvm-svn: 91634
-
- Dec 17, 2009
-
-
Jeffrey Yasskin authored
llvm-svn: 91632
-
Eli Friedman authored
llvm-svn: 91631
-
-
Eli Friedman authored
llvm-svn: 91624
-
Evan Cheng authored
llvm-svn: 91623
-
Eli Friedman authored
to memcpy. (Such a memcpy is technically illegal, but in practice is safe and is generated by struct self-assignment in C code.) llvm-svn: 91621
-
Jeffrey Yasskin authored
llvm-svn: 91620
-
Bill Wendling authored
$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91337 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp llvm-svn: 91618
-
Ken Dyck authored
LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple type by one, getHalfSizedIntegerVT() searches for the smallest simple integer type that is at least half the size of the type it is called on. This approach has the advantage that it will continue working if a new value type (such as i24) is added to MVT. Also, in preparation for new value types, remove the assertions that non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and truncstore operations. llvm-svn: 91614
-
Chris Lattner authored
llvm-svn: 91612
-
Jeffrey Yasskin authored
llvm-svn: 91611
-
Bob Wilson authored
llvm-svn: 91607
-
Evan Cheng authored
llvm-svn: 91604
-
Ken Dyck authored
incrementing the simple value type of the 16-bit type, which would give the wrong type if an intemediate MVT (such as i24) were introduced. llvm-svn: 91602
-
Evan Cheng authored
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598
-
Eli Friedman authored
folding in particular expects null to be on the RHS. llvm-svn: 91587
-
Bob Wilson authored
llvm-svn: 91584
-
Evan Cheng authored
Fold (zext (and x, cst)) -> (and (zext x), cst) DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping. llvm-svn: 91574
-
Johnny Chen authored
llvm-svn: 91571
-
- Dec 16, 2009
-
-
John McCall authored
context) increment-of-bool idiom. llvm-svn: 91564
-
Daniel Dunbar authored
Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good. llvm-svn: 91560
-
Daniel Dunbar authored
Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good. llvm-svn: 91559
-
Jim Grosbach authored
llvm-svn: 91555
-
Jim Grosbach authored
llvm-svn: 91554
-
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
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
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
-
Victor Hernandez authored
llvm-svn: 91524
-
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
-
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
-