- Sep 15, 2009
-
-
Dan Gohman authored
memset region to the alignment of the new start address. llvm-svn: 81810
-
- Sep 11, 2009
-
-
Dan Gohman authored
within the notional bounds of the static type of the getelementptr (which is not the same as "inbounds") from GlobalOpt into a utility routine, and use it in ConstantFold.cpp to check whether there are any mis-behaved indices. llvm-svn: 81478
-
- Sep 10, 2009
-
-
Nick Lewycky authored
used by a terminator in another. llvm-svn: 81437
-
Evan Cheng authored
llvm-svn: 81426
-
- Sep 09, 2009
-
-
Dan Gohman authored
loop exit edge -- new PHIs may be needed not only for the additional splits that are made to preserve LoopSimplify form, but also for the original split. Factor out the code that inserts new PHIs so that it can be used for both. Remove LoopRotation.cpp's code for manually updating LCSSA form, as it is now redundant. This fixes PR4934. llvm-svn: 81363
-
Mike Stump authored
llvm-svn: 81361
-
Andreas Neustifter authored
llvm-svn: 81360
-
Dan Gohman authored
llvm-svn: 81354
-
Chris Lattner authored
llvm-svn: 81347
-
Andreas Neustifter authored
llvm-svn: 81335
-
- Sep 08, 2009
-
-
Owen Anderson authored
llvm-svn: 81250
-
Chris Lattner authored
extractelement(load). llvm-svn: 81239
-
Dan Gohman authored
that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. llvm-svn: 81221
-
Chris Lattner authored
llvm-svn: 81186
-
Chris Lattner authored
extractelement operations into a bitcast of the pointer, then a gep, then a scalar load. Disable this when the vector only has one element, because it leads to infinite loops in instcombine (PR4908). This transformation seems like a really bad idea to me, as it will likely disable CSE of vector load/stores etc and can be better done in the code generator when profitable. This goes all the way back to the first days of packed types, r25299 specifically. I'll let those people who care about the performance of vector code decide what to do with this. llvm-svn: 81185
-
Chris Lattner authored
context for the newly created operations. Patch by Jakub Staszak! llvm-svn: 81175
-
Dan Gohman authored
llvm-svn: 81172
-
Dan Gohman authored
compile-time constant integers or that are out of bounds for their corresponding static array types. These can cause aliasing that GlobalOpt assumes won't happen. llvm-svn: 81165
-
Dan Gohman authored
an aggregate store overlapping a different aggregate store, despite the stores having distinct addresses. llvm-svn: 81164
-
Dan Gohman authored
is missing the inbounds flag. This is slightly conservative, but it avoids problems with two constants pointing to the same address but getting distinct entries in the Memory DenseMap. llvm-svn: 81163
-
Dan Gohman authored
into a getelementptr ConstantExpr. llvm-svn: 81162
-
Dan Gohman authored
llvm-svn: 81161
-
- Sep 07, 2009
-
-
Eric Christopher authored
llvm-svn: 81138
-
- Sep 06, 2009
-
-
Duncan Sands authored
about by icc (#593, partial). Patch by Erick Tryzelaar. llvm-svn: 81115
-
Daniel Dunbar authored
- I think there are more instances of this, but I think they are fixed in Dan's incoming patch. This one was preventing me from doing a bugpoint reduction though. llvm-svn: 81103
-
Evan Cheng authored
llvm-svn: 81101
-
Daniel Dunbar authored
breaks MiniSAT on x86_64. llvm-svn: 81098
-
- Sep 04, 2009
-
-
Andreas Neustifter authored
into llvm/ADT. llvm-svn: 81001
-
Dan Gohman authored
Constant uniquing tables. This allows distinct ConstantExpr objects with the same operation and different flags. Even though a ConstantExpr "a + b" is either always overflowing or never overflowing (due to being a ConstantExpr), it's still necessary to be able to represent it both with and without overflow flags at the same time within the IR, because the safety of the flag may depend on the context of the use. If the constant really does overflow, it wouldn't ever be safe to use with the flag set, however the use may be in code that is never actually executed. This also makes it possible to merge all the flags tests into a single test. llvm-svn: 80998
-
- Sep 03, 2009
-
-
Dan Gohman authored
that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. llvm-svn: 80926
-
Dan Gohman authored
instead of a bool argument, and to do the dominator check itself. This makes it eaiser to use when DominatorTree information is available. llvm-svn: 80920
-
Duncan Sands authored
memcpy calls. llvm-svn: 80915
-
Andreas Neustifter authored
Removed inverted flag form MaximumSpanningTree, also do not handle so much information to MaximumSpanningTree. llvm-svn: 80911
-
Nick Lewycky authored
llvm-svn: 80903
-
Chris Lattner authored
simplifylibcalls optimization is thus valid for C++ but not C. It's not important enough to worry about for C++ apps, so just remove it. rdar://7191924 llvm-svn: 80887
-
Gabor Greif authored
llvm-svn: 80871
-
Gabor Greif authored
re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed... llvm-svn: 80858
-
- Sep 02, 2009
-
-
Andreas Neustifter authored
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085890.html) llvm-svn: 80789
-
Andreas Neustifter authored
be instrumented. llvm-svn: 80788
-
Andreas Neustifter authored
llvm-svn: 80781
-