llvm-6502/lib
Chandler Carruth b2d98c2917 Fix PR13969, a mini-phase-ordering issue with the new SROA pass.
Currently, we re-visit allocas when something changes about the way they
might be *split* to allow better scalarization to take place. However,
we weren't handling the case when the *promotion* is what would change
the behavior of SROA. When an address derived from an alloca is stored
into another alloca, we consider the first to have escaped. If the
second is ever promoted to an SSA value, we will suddenly be able to run
the SROA pass on the first alloca.

This patch adds explicit support for this form if iteration. When we
detect a store of a pointer derived from an alloca, we flag the
underlying alloca for reprocessing after promotion. The logic works hard
to only do this when there is definitely going to be promotion and it
might remove impediments to the analysis of the alloca.

Thanks to Nick for the great test case and Benjamin for some sanity
check review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165223 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04 12:33:50 +00:00
..
Analysis Use method to query for NoAlias attribute. 2012-10-04 07:17:46 +00:00
Archive Mark checkSignature const, and in turn stop casting away const from 2012-09-05 22:09:23 +00:00
AsmParser Add in support for SPIR to LLVM core. This adds a new target and two new calling conventions. 2012-10-01 17:01:31 +00:00
Bitcode Use method to query if there are attributes. 2012-10-04 07:19:46 +00:00
CodeGen Fix reg mask slot test, and preserve LiveIntervals and VirtRegMap in the PBQP 2012-10-04 04:50:53 +00:00
DebugInfo Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-18 02:01:41 +00:00
ExecutionEngine Implement .rel relocation for R_ARM_ABS32 in MCJIT. 2012-10-03 16:29:42 +00:00
Linker
MC Remove template from function that is only used with one type after r165092. 2012-10-04 05:18:31 +00:00
Object
Support Improve overflow detection in StringRef::getAsUnsignedInteger(). 2012-10-02 20:01:48 +00:00
TableGen tblgen: Whitespace and 80-col cleanup. 2012-10-04 00:54:27 +00:00
Target Use new accessor methods to query for attributes. 2012-10-04 06:43:21 +00:00
Transforms Fix PR13969, a mini-phase-ordering issue with the new SROA pass. 2012-10-04 12:33:50 +00:00
VMCore Add method to query for NoCapture attribute. 2012-10-04 07:18:12 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile