1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/lib/Transforms
Chandler Carruth d6a41eacf0 Address one of the original FIXMEs for the new SROA pass by implementing
integer promotion analogous to vector promotion. When there is an
integer alloca being accessed both as its integer type and as a narrower
integer type, promote the narrower access to "insert" and "extract" the
smaller integer from the larger one, and make the integer alloca
a candidate for promotion.

In the new formulation, we don't care about target legal integer or use
thresholds to control things. Instead, we only perform this promotion to
an integer type which the frontend has already emitted a load or store
for. This bounds the scope and prevents optimization passes from
coalescing larger and larger entities into a single integer.

llvm-svn: 164479
2012-09-24 00:34:20 +00:00
..
Hello
InstCombine InstCombine: Make sure we use the pre-zext type when creating a constant of a value that is zext'd. 2012-09-21 16:26:41 +00:00
Instrumentation s/__llvm_gcov_flush/__gcov_flush/g 2012-09-17 17:57:05 +00:00
IPO LNT builders have picked up new SROA, disable it to get the remaining builders green again. 2012-09-18 13:43:00 +00:00
Scalar Address one of the original FIXMEs for the new SROA pass by implementing 2012-09-24 00:34:20 +00:00
Utils SimplifyCFG: sink common codes from IF, ELSE blocks down to END block. 2012-09-20 22:37:36 +00:00
Vectorize Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +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