- Dec 06, 2011
-
-
Chad Rosier authored
don't do this now, but add a test case to prevent this from happening in the future. Additional test for rdar://9892684 llvm-svn: 145879
-
- Dec 05, 2011
-
-
Chad Rosier authored
where this would be bad as the backend shouldn't have a problem inlining small memcpys. rdar://10510150 llvm-svn: 145865
-
Nadav Rotem authored
Add support for vectors of pointers. llvm-svn: 145801
-
- Dec 03, 2011
-
-
Pete Cooper authored
Fixed deadstoreelimination bug where negative indices were incorrectly causing the optimisation to occur Turns out long long + unsigned long long is unsigned. Doh! Fixes http://llvm.org/bugs/show_bug.cgi?id=11455 llvm-svn: 145731
-
Chad Rosier authored
rdar://10514247 llvm-svn: 145730
-
- Dec 01, 2011
-
-
Chad Rosier authored
rdar://10500969 llvm-svn: 145639
-
Pete Cooper authored
Improved fix for abs(val) != 0 to check other similar case. Also fixed style issues and confusing comment llvm-svn: 145618
-
Pete Cooper authored
llvm-svn: 145570
-
Pete Cooper authored
(val != 0) == (-val != 0) so "abs(val) != 0" becomes "val != 0" Fixes <rdar://problem/10482509> llvm-svn: 145563
-
- Nov 30, 2011
-
-
Andrew Trick authored
llvm-svn: 145484
-
Andrew Trick authored
Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed. llvm-svn: 145482
-
Chad Rosier authored
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is specified. rdar://10466410 llvm-svn: 145460
-
- Nov 29, 2011
-
-
Duncan Sands authored
weak variable are compiled by different compilers, such as GCC and LLVM, while LLVM may increase the alignment to the preferred alignment there is no reason to think that GCC will use anything more than the ABI alignment. Since it is the GCC version that might end up in the final program (as the linkage is weak), it is wrong to increase the alignment of loads from the global up to the preferred alignment as the alignment might only be the ABI alignment. Increasing alignment up to the ABI alignment might be OK, but I'm not totally convinced that it is. It seems better to just leave the alignment of weak globals alone. llvm-svn: 145413
-
Andrew Trick authored
SCEV can't optimize undef in all cases, which is a separate issue from this test case. llvm-svn: 145343
-
Eli Friedman authored
llvm-svn: 145316
-
- Nov 28, 2011
-
-
Eli Friedman authored
Make SelectionDAG::InferPtrAlignment use llvm::ComputeMaskedBits instead of duplicating the logic for globals. Make llvm::ComputeMaskedBits handle GlobalVariables slightly more aggressively, to match what InferPtrAlignment knew how to do. llvm-svn: 145304
-
- Nov 27, 2011
-
-
Chris Lattner authored
fails on ppc and arm hosts. llvm-svn: 145188
-
Chris Lattner authored
trampoline forms. Both of these were correct in LLVM 3.0, and we don't need to support LLVM 2.9 and earlier in mainline. llvm-svn: 145174
-
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
-