1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/Transforms
Chandler Carruth 587c136c31 Teach the reassociate pass to fold chains of multiplies with repeated
elements to minimize the number of multiplies required to compute the
final result. This uses a heuristic to attempt to form near-optimal
binary exponentiation-style multiply chains. While there are some cases
it misses, it seems to at least a decent job on a very diverse range of
inputs.

Initial benchmarks show no interesting regressions, and an 8%
improvement on SPASS. Let me know if any other interesting results (in
either direction) crop up!

Credit to Richard Smith for the core algorithm, and helping code the
patch itself.

llvm-svn: 155616
2012-04-26 05:30:30 +00:00
..
Hello
InstCombine Reverting r155468. Chris and Chandler have convinced me that it's dangerous and 2012-04-25 02:16:54 +00:00
Instrumentation Fix issue 67 by checking that the interface functions weren't redefined in the compiled source file. 2012-04-23 10:47:31 +00:00
IPO Add a Fixme. 2012-04-16 04:23:52 +00:00
Scalar Teach the reassociate pass to fold chains of multiplies with repeated 2012-04-26 05:30:30 +00:00
Utils Fix 12513: Loop unrolling breaks with indirect branches. 2012-04-10 05:14:42 +00:00
Vectorize Fix style violation in BBVectorize (pointed out by Bill Wendling) 2012-04-16 12:39:17 +00:00
CMakeLists.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
LLVMBuild.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
Makefile Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00