- Nov 11, 2009
-
-
Devang Patel authored
llvm-svn: 86753
-
Dale Johannesen authored
constant whose component type is not a legal type for the target. (If the target ConstantPool cannot handle this type either, it has an opportunity to merge elements. In practice any target with 8-bit bytes must support i8 *as data*). 7320806 (partial). llvm-svn: 86751
-
Devang Patel authored
llvm-svn: 86748
-
- Nov 10, 2009
-
-
Chris Lattner authored
llvm-svn: 86739
-
Chris Lattner authored
into libanalysis and transformutils. llvm-svn: 86735
-
Dan Gohman authored
llvm-svn: 86732
-
Bill Wendling authored
generates a sequence similar to this: __Z4funci: LFB2: mflr r0 LCFI0: stmw r30,-8(r1) LCFI1: stw r0,8(r1) LCFI2: stwu r1,-80(r1) LCFI3: mr r30,r1 LCFI4: where LCFI3 and LCFI4 are used by the FDE to indicate what the FP, LR, and other things are. We generated something more like this: Leh_func_begin1: mflr r0 stw r31, 20(r1) stw r0, 8(r1) Llabel1: stwu r1, -80(r1) Llabel2: mr r31, r1 Note that we are missing the "mr" instruction. This patch makes it more like the GCC output. llvm-svn: 86729
-
Devang Patel authored
Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic. llvm-svn: 86727
-
Chris Lattner authored
tracked down by Stephan Reiter! llvm-svn: 86726
-
Jakob Stoklund Olesen authored
Critical edges leading to a PHI node are split when the PHI source variable is live out from the predecessor block. This help the coalescer eliminate more PHI joins. llvm-svn: 86725
-
Jakob Stoklund Olesen authored
Clean up some whitespace. No functional changes. llvm-svn: 86724
-
Chris Lattner authored
llvm-svn: 86723
-
Chris Lattner authored
debug intrinsics, and an unconditional branch when possible. This reuses the TryToSimplifyUncondBranchFromEmptyBlock function split out of simplifycfg. llvm-svn: 86722
-
Evan Cheng authored
llvm-svn: 86715
-
Victor Hernandez authored
llvm-svn: 86712
-
Evan Cheng authored
[r0, #2 * 4] Now [r0, #8] This makes Thumb2 assembly more uniform and frankly the scale doesn't add much. llvm-svn: 86707
-
Evan Cheng authored
llvm-svn: 86706
-
Duncan Sands authored
llvm-svn: 86705
-
Daniel Dunbar authored
- Force NDEBUG on in any Release build. This drops the compile time to ~100s from ~600s, in Release mode. - This may just be a temporary workaround, I don't know the true nature of the gcc-4.2 compile time performance problem. llvm-svn: 86695
-
Duncan Sands authored
llvm-svn: 86694
-
Chris Lattner authored
llvm-svn: 86689
-
Duncan Sands authored
llvm-svn: 86683
-
Duncan Sands authored
llvm-svn: 86681
-
Duncan Sands authored
just throw them away. llvm-svn: 86678
-
Victor Hernandez authored
Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size llvm-svn: 86676
-
Victor Hernandez authored
Add ComputeMultiple() analysis function that recursively determines if a Value V is a multiple of unsigned Base llvm-svn: 86675
-
Chris Lattner authored
of a computation. This fixes some infinite loops when dealing with TD that has no native types. llvm-svn: 86670
-
Nick Lewycky authored
llvm-svn: 86668
-
Nick Lewycky authored
memory just like a store" with bug fixed (partial-overwrite.ll is the regression test). llvm-svn: 86667
-
Chris Lattner authored
llvm-svn: 86666
-
Oscar Fuentes authored
llvm-svn: 86656
-
Bruno Cardoso Lopes authored
llvm-svn: 86651
-
Chris Lattner authored
llvm-svn: 86648
-
Chris Lattner authored
just one level deep. On the testcase we go from getting this: F1: ; preds = %T2 %F = and i1 true, %cond ; <i1> [#uses=1] br i1 %F, label %X, label %Y to a fully threaded: F1: ; preds = %T2 br label %Y This changes gets us to the point where we're forming (too many) switch instructions on doug's strswitch testcase. llvm-svn: 86646
-
Chris Lattner authored
llvm-svn: 86645
-
Dan Gohman authored
llvm-svn: 86642
-
Dan Gohman authored
llvm-svn: 86641
-
Chris Lattner authored
llvm-svn: 86639
-
Chris Lattner authored
except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. llvm-svn: 86637
-
Jeffrey Yasskin authored
This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! llvm-svn: 86636
-