- 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
Size of data being pointed to wasn't always being checked so some small writes were killing big writes Fixes <rdar://problem/10426753> llvm-svn: 144312
-
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
-
-
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
-
Pete Cooper authored
Fixes r8429 llvm-svn: 144036
-
- Nov 07, 2011
-
-
Bill Wendling authored
<rdar://problem/10405911> llvm-svn: 144000
-
- Nov 05, 2011
-
-
Nick Lewycky authored
llvm-svn: 143808
-
- Nov 04, 2011
-
-
Daniel Dunbar authored
the end of it is dead.", which appears to break bootstrapping LLVM. llvm-svn: 143668
-
- Nov 03, 2011
-
-
Daniel Dunbar authored
llvm-svn: 143634
-
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
-
Chandler Carruth authored
silence -Wparentheses. llvm-svn: 143534
-
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
-
Devang Patel authored
Patch by Kostya Serebryany. llvm-svn: 143405
-
- 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
-
- Oct 28, 2011
-
-
Andrew Trick authored
Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion llvm-svn: 143183
-
- Oct 27, 2011
-
-
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 24, 2011
-
-
Nick Lewycky authored
instructions. This doesn't introduce any optimizations we weren't doing before (except potentially due to pass ordering issues), now passes will eliminate them sooner as part of their own cleanups. llvm-svn: 142787
-
- Oct 23, 2011
-
-
Cameron Zwarich authored
element types, even though the element extraction code does. It is surprising that this bug has been here for so long. Fixes <rdar://problem/10318778>. llvm-svn: 142740
-
- Oct 22, 2011
-
-
Nick Lewycky authored
elimination on them too. llvm-svn: 142735
-
- Oct 21, 2011
-
-
Eli Friedman authored
llvm-svn: 142684
-
Eli Friedman authored
llvm-svn: 142672
-
Eli Friedman authored
Extend instcombine's shufflevector simplification to handle more cases where the input and output vectors have different sizes. Patch by Xiaoyi Guo. llvm-svn: 142671
-
- Oct 20, 2011
-
-
Eli Friedman authored
Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. llvm-svn: 142572
-
Devang Patel authored
Patch by Pranav Bhandarkar! llvm-svn: 142556
-
- Oct 18, 2011
-
-
Dan Gohman authored
tag on objc_retainBlock calls, which indicates that they may be optimized away. rdar://10211286. llvm-svn: 142298
-
- Oct 17, 2011
-
-
Bill Wendling authored
combining of the landingpad instruction. The ObjC personality function acts almost identically to the C++ personality function. In particular, it uses "null" as a "catch-all" value. llvm-svn: 142256
-
Dan Gohman authored
possibility that it will span multiple CFG diamonds/triangles which could have different controlling predicates. rdar://10282956 llvm-svn: 142222
-
Bill Wendling authored
Some code want to check that *any* call within a function has the 'returns twice' attribute, not just that the current function has one. llvm-svn: 142221
-
Bill Wendling authored
obsolete. Check the attribute instead. <rdar://problem/8031714> llvm-svn: 142212
-
Michael J. Spencer authored
llvm-svn: 142204
-
Devang Patel authored
There is no reason to have simple IR level pass in lib/Target. llvm-svn: 142200
-
Chandler Carruth authored
profile metadata at the same time. Use it to preserve metadata attached to a branch when re-writing it in InstCombine. Add metadata to the canonicalize_branch InstCombine test, and check that it is tranformed correctly. Reviewed by Nick Lewycky! llvm-svn: 142168
-
Chandler Carruth authored
llvm-svn: 142162
-
- Oct 16, 2011
-
-
Nick Lewycky authored
on the memcpy call will pull up other unrelated stuff. Fixes PR11142. llvm-svn: 142150
-
- Oct 15, 2011
-
-
Duncan Sands authored
use can't be dominated, saving one domtree lookup. llvm-svn: 142066
-
Andrew Trick authored
I rewrote the algorithm a while back so it doesn't require map lookup, but neglected to change the data structure. This was caught by llvm-gcc self host, not because there's anything special about llvm-gcc, but because it is the only test for nondeterminism we currently have. Unit tests don't work well for everything; we should always try to have a nondeterminism stress test running. Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false llvm-svn: 142036
-
- Oct 14, 2011
-
-
Eli Friedman authored
Someone more familiar with LSR should double-check that the extra cast is actually doing the right thing in the overflow cases; I'm not completely confident that's that case. llvm-svn: 141916
-
Eli Friedman authored
Enhance the memdep interface so that users can tell the difference between a dependency which cannot be calculated and a path reaching the entry point of the function. This patch introduces isNonFuncLocal, which replaces isUnknown in some cases. Patch by Xiaoyi Guo. llvm-svn: 141896
-