llvm-mirror/lib/Transforms
Chandler Carruth 095e171fae Refactor the SROA visitors for partitioning an alloca and building
partition use lists a bit. No functionality changed.

These visitors are actually visiting a tuple of a Use and an offset into
the alloca. However, we use the InstVisitor to handle the dispatch over
the users, and so the Use and Offset are stored in class member
variables and set just before each call to visit(). This is fairly
awkward and makes the functions a bit harder to read, but its the only
real option we have until InstVisitor can be rewritten to use variadic
templates.

However, this pattern shouldn't be followed on the helper member
functions where there is no interface constraint from the visitor. We
already were passing the instruction as a normal parameter rather than
use the Use to get at it, start passing the offset as well. This will
become more important in subsequent patches as the offset will in some
cases change while visiting a single instruction.

llvm-svn: 164003
2012-09-16 19:39:50 +00:00
..
Hello
InstCombine Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments. 2012-09-15 17:09:36 +00:00
Instrumentation Remove comment. 2012-09-14 22:35:49 +00:00
IPO Disable new sroa now that all buildbots have tested it. 2012-09-15 15:11:10 +00:00
Scalar Refactor the SROA visitors for partitioning an alloca and building 2012-09-16 19:39:50 +00:00
Utils PGO: preserve branch-weight metadata when simplifying two branches with a common 2012-09-15 00:39:57 +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