- Sep 08, 2009
-
-
Chris Lattner authored
context for the newly created operations. Patch by Jakub Staszak! llvm-svn: 81175
-
Dan Gohman authored
llvm-svn: 81172
-
- 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
-
-
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
-
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
-
-
Chris Lattner authored
the instruction BBI points to. llvm-svn: 80768
-
Chris Lattner authored
llvm-svn: 80767
-
Chris Lattner authored
llvm-svn: 80766
-
Chris Lattner authored
return a vector of i1, not i1 itself. llvm-svn: 80761
-
- Sep 01, 2009
-
-
Chris Lattner authored
don't alias. Remove an old and poorly reduced testcase that fails with this transform for reasons unrelated to the original test. llvm-svn: 80693
-
Chris Lattner authored
llvm-svn: 80682
-
- Aug 31, 2009
-
-
Chris Lattner authored
from runOnFunction llvm-svn: 80562
-
Chris Lattner authored
instcombine is changing stuff. llvm-svn: 80538
-
Chris Lattner authored
changes: SimplifyDemandedBits can't use the builder yet because it has the wrong insertion point. This fixes a crash building MultiSource/Benchmarks/PAQ8p llvm-svn: 80537
-
- Aug 30, 2009
-
-
Chris Lattner authored
is itself a bitcast. Since we have gep(bitcast(bitcast(y))) in this case, just wait for the two bitcasts to get zapped. This prevents instcombine from confusing some aliasing stuff, and allows it to directly eliminate the load in the testcase. llvm-svn: 80508
-
Chris Lattner authored
llvm-svn: 80507
-
Chris Lattner authored
in a few scalar xforms to simplify things. llvm-svn: 80506
-
Chris Lattner authored
llvm-svn: 80505
-
Chris Lattner authored
llvm-svn: 80504
-
Chris Lattner authored
the new Instcombine builder. llvm-svn: 80501
-
Chris Lattner authored
llvm-svn: 80500
-
Chris Lattner authored
workslist and is set to insert new instructions before the current one. Convert a bunch of stuff that used to call InsertNewInstBefore over to use it, greatly simplifying code and making it more natural. There is still a lot more to go, but this is a good start. llvm-svn: 80492
-
Chris Lattner authored
if the operand is not an instruction. Simplify most uses of AddOperandsToWorkList to use AddValue and inline it into the one remaining callsite. llvm-svn: 80488
-
Chris Lattner authored
argument stronger typed. llvm-svn: 80487
-
Chris Lattner authored
former looks too much like AddUsersToWorkList and keeps confusing me. Remove AddSoonDeadInstToWorklist and change its two callers to do the same thing in a simpler way. llvm-svn: 80486
-
Chris Lattner authored
into their callers. simplify ReplaceInstUsesWith. Make EraseInstFromFunction only add operands to the worklist if there aren't too many of them (this was a scalability win for crazy programs that was only infrequently enforced). Switch more code to using EraseInstFromFunction instead of duplicating it inline. Change some fcmp/icmp optimizations to modify fcmp/icmp in place instead of creating a new one and deleting the old one just to change the predicate. llvm-svn: 80483
-
Chris Lattner authored
llvm-svn: 80482
-
Chris Lattner authored
llvm-svn: 80481
-
Chris Lattner authored
other places. llvm-svn: 80478
-
Chris Lattner authored
llvm-svn: 80477
-
Chris Lattner authored
llvm-svn: 80476
-
Chris Lattner authored
does constant folding of gep's: this is already handled in a more general way. No functionality change. llvm-svn: 80475
-