- Nov 27, 2011
-
-
Chris Lattner authored
Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. llvm-svn: 145171
-
Chris Lattner authored
I think this is the last of autoupgrade that can be removed in 3.1. Can the atomic upgrade stuff also go? llvm-svn: 145169
-
- Nov 26, 2011
-
-
Chandler Carruth authored
for adding other tests. llvm-svn: 145143
-
- Nov 23, 2011
-
-
Richard Smith authored
llvm-svn: 145111
-
Duncan Sands authored
and positive: positive, because it could be directly computed to be positive; negative, because the nsw flags means it is either negative or undefined (the multiplication always overflowed). llvm-svn: 145104
-
- Nov 21, 2011
-
-
Nick Lewycky authored
llvm-svn: 145047
-
- Nov 20, 2011
-
-
Benjamin Kramer authored
llvm-svn: 145008
-
- Nov 18, 2011
-
-
Andrew Trick authored
The loop tree's inclusive block lists are painful and expensive to update. (I have no idea why they're inclusive). The design was supposed to handle this case but the implementation missed it and my unit tests weren't thorough enough. Fixes PR11335: loop unroll update. llvm-svn: 144970
-
Andrew Trick authored
The right way to check for a binary operation is cast<BinaryOperator>. The original check: cast<Instruction> && numOperands() == 2 would match phi "instructions", leading to an infinite loop in extreme corner case: a useless phi with operands [self, constant] that prior optimization passes failed to remove, being used in the loop by another useless phi, in turn being used by an lshr or udiv. Fixes PR11350: runaway iteration assertion. llvm-svn: 144935
-
- Nov 17, 2011
-
-
Eli Friedman authored
Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom names for fwrite and fputs. Fixes <rdar://problem/9815881>. llvm-svn: 144876
-
- Nov 16, 2011
-
-
Nick Lewycky authored
llvm-svn: 144774
-
Nick Lewycky authored
looking at the size of the pointee. Fixes PR11390! llvm-svn: 144773
-
Andrew Trick authored
Fixes PR11375: Different results for 'clang++ huh.cpp'... llvm-svn: 144746
-
- Nov 14, 2011
-
-
Nick Lewycky authored
and stores capture) to permit the caller to see each capture point and decide whether to continue looking. Use this inside memdep to do an analysis that basicaa won't do. This lets us solve another devirtualization case, fixing PR8908! llvm-svn: 144580
-
- Nov 12, 2011
-
-
Nick Lewycky authored
llvm-svn: 144454
-
Eli Friedman authored
llvm-svn: 144442
-
- Nov 11, 2011
-
-
Eli Friedman authored
Get rid of an optimization in SCCP which appears to have many issues. Specifically, it doesn't handle many cases involving undef correctly, and it is missing other checks which lead to it trying to re-mark a value marked as a constant with a different value. It also appears to trigger very rarely. Fixes PR11357. llvm-svn: 144352
-
- Nov 10, 2011
-
-
Pete Cooper authored
Currently checks alignment and killing stores on a power of 2 boundary as this is likely to trim the size of the earlier store without breaking large vector stores into scalar ones. Fixes <rdar://problem/10140300> llvm-svn: 144239
-
- Nov 08, 2011
-
-
Eli Friedman authored
llvm-svn: 144121
-
Pete Cooper authored
LICM pass now understands invariant load metadata. Nothing generates this yet so it will currently never get used in real tests llvm-svn: 144107
-
Bill Wendling authored
llvm-svn: 144050
-
- Nov 05, 2011
-
-
Nick Lewycky authored
llvm-svn: 143808
-
- Nov 04, 2011
-
-
Dan Gohman authored
llvm-svn: 143721
-
Dan Gohman authored
llvm-svn: 143719
-
Daniel Dunbar authored
the end of it is dead.", which appears to break bootstrapping LLVM. llvm-svn: 143668
-
- Nov 03, 2011
-
-
Pete Cooper authored
Only currently done if the later store is writing to a power of 2 address or has the same alignment as the earlier store as then its likely to not break up large stores into smaller ones Fixes <rdar://problem/10140300> llvm-svn: 143630
-
- Nov 02, 2011
-
-
Andrew Trick authored
We've been hitting asserts in this code due to the many supported combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This second rewrite of the code attempts to deal with these cases systematically. llvm-svn: 143546
-
Andrew Trick authored
Narrowest possible fix for PR11279. llvm-svn: 143522
-
- Nov 01, 2011
-
-
Eli Friedman authored
Make sure we use the right insertion point when instcombine replaces a PHI with another instruction. (Specifically, don't insert an arbitrary instruction before a PHI.) Fixes PR11275. llvm-svn: 143437
-
- Oct 30, 2011
-
-
Duncan Sands authored
with the given predicate, it matches any condition and returns the predicate - d'oh! Original commit message: The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false. Spotted by my super-optimizer in 186.crafty and 450.soplex. We really need a proper infrastructure for handling generalizations of this kind of thing (which occur a lot), however this case is so simple that I decided to go ahead and implement it directly. llvm-svn: 143318
-
- Oct 29, 2011
-
-
Benjamin Kramer authored
SimplifyLibCalls: Use IRBuilder.CreateGlobalString when creating a string for printf->puts, which correctly sets the unnamed_addr bit on the resulting GlobalVariable. Fixes PR11264. llvm-svn: 143289
-
Eli Friedman authored
llvm-svn: 143265
-
- Oct 28, 2011
-
-
Duncan Sands authored
Spotted by my super-optimizer in 186.crafty and 450.soplex. We really need a proper infrastructure for handling generalizations of this kind of thing (which occur a lot), however this case is so simple that I decided to go ahead and implement it directly. llvm-svn: 143214
-
Duncan Sands authored
For completeness - not spotted in the wild. llvm-svn: 143211
-
Duncan Sands authored
in 186.crafty. llvm-svn: 143209
-
Andrew Trick authored
Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion llvm-svn: 143183
-
- Oct 27, 2011
-
-
Duncan Sands authored
using BinaryOperator (which only works for instructions) when it should have been a cast to OverflowingBinaryOperator (which also works for constants). While there, correct a few other dubious looking uses of BinaryOperator. Thanks to Chad Rosier for the testcase. Original commit message: My super-optimizer noticed that we weren't folding this expression to true: (x *nsw x) sgt 0, where x = (y | 1). This occurs in 464.h264ref. llvm-svn: 143125
-
Bob Wilson authored
behind a compile failure on 483.xalancbmk. llvm-svn: 143102
-
Eli Friedman authored
It is not safe to sink an alloca into a stacksave/stackrestore pair, so don't do that. <rdar://problem/10352360> llvm-svn: 143093
-
- Oct 26, 2011
-
-
Duncan Sands authored
in 403.gcc and was spotted by my super-optimizer. llvm-svn: 143054
-