- Jul 12, 2011
-
-
Andrew Trick authored
LinearFunctionTestReplace rewrite. No functionality. I've been wanting to group the indvar subphases into sections and order them by their logical sequence. My next checkin adds functions related to LFTR, and doing the reorg now should help reviewers. Since, most of the code in IndVarSimplify.cpp has recently been replaced or will be replaced soon, obscuring blame should not be an issue. This seems like an ideal time to shuffle the code around. I'm happy to take more suggestions for cleaning up the code. Or if you've been wanting to cleanup anything in this file yourself, now is a good time. llvm-svn: 134941
-
- Jul 11, 2011
-
-
Jay Foad authored
llvm-svn: 134893
-
Jay Foad authored
llvm-svn: 134888
-
Rafael Espindola authored
more than one use. Fixes PR10322. llvm-svn: 134883
-
- Jul 09, 2011
-
-
Chris Lattner authored
llvm-svn: 134832
-
Chris Lattner authored
patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
-
Lang Hames authored
Added recognition for signed add/sub/mul with overflow intrinsics to GVN as per Chris and Frits suggestion. llvm-svn: 134777
-
Bob Wilson authored
This tightens up checking for overflow in alloca sizes, based on feedback from Duncan and John about the change in r132926. llvm-svn: 134749
-
- Jul 08, 2011
-
-
Benjamin Kramer authored
llvm-svn: 134720
-
Devang Patel authored
llvm-svn: 134708
-
Lang Hames authored
Make GVN look through extractvalues for recognised intrinsics. GVN can then CSE ops that match values produced by the intrinsics. llvm-svn: 134677
-
- Jul 07, 2011
-
-
Devang Patel authored
llvm-svn: 134568
-
Jakub Staszak authored
llvm-svn: 134566
-
Devang Patel authored
llvm-svn: 134549
-
- Jul 06, 2011
-
-
Devang Patel authored
llvm-svn: 134538
-
Andrew Trick authored
careful about referencing values. llvm-svn: 134537
-
Andrew Trick authored
llvm-svn: 134530
-
Tobias Grosser authored
llvm-svn: 134521
-
Tobias Grosser authored
The promotion code lost any alignment information, when hoisting loads and stores out of the loop. This lead to incorrect aligned memory accesses. We now use the largest alignment we can prove to be correct. llvm-svn: 134520
-
Jakub Staszak authored
llvm-svn: 134516
-
- Jul 05, 2011
-
-
Devang Patel authored
llvm-svn: 134441
-
Andrew Trick authored
Putting back the helper that I removed on 7/1 to do this right. llvm-svn: 134423
-
- Jul 04, 2011
-
-
Benjamin Kramer authored
PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use. This can pessimize code, inequalities are generally more expensive. llvm-svn: 134379
-
- Jul 02, 2011
-
-
Andrew Trick authored
llvm-svn: 134306
-
- Jul 01, 2011
-
-
Owen Anderson authored
Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly. llvm-svn: 134265
-
Nick Lewycky authored
llvm-svn: 134235
-
- Jun 30, 2011
-
-
Rafael Espindola authored
nodes. Original message: Let simplify cfg simplify bb with only debug and lifetime intrinsics. llvm-svn: 134182
-
Andrew Trick authored
llvm-svn: 134177
-
Andrew Trick authored
llvm-svn: 134124
-
Andrew Trick authored
llvm-svn: 134112
-
- Jun 29, 2011
-
-
Chad Rosier authored
lifetime intrinsics" due to buildbot failures. llvm-svn: 134071
-
Rafael Espindola authored
llvm-svn: 134057
-
Andrew Trick authored
mean they can be removed. llvm-svn: 134054
-
- Jun 28, 2011
-
-
Andrew Trick authored
llvm-svn: 134010
-
Andrew Trick authored
llvm-svn: 133992
-
Andrew Trick authored
llvm-svn: 133991
-
Nick Lewycky authored
llvm-svn: 133990
-
Andrew Trick authored
llvm-svn: 133988
-
Andrew Trick authored
evaluates all other IV exprs. llvm-svn: 133982
-
Andrew Trick authored
a bit more control over the order SCEVs are evaluated. llvm-svn: 133959
-