llvm-6502/lib
Chandler Carruth 37508bb842 Finish fixing the SSAUpdater-based AllocaPromoter strategy in SROA to cope with
the more general set of patterns that are now handled by mem2reg and that we
can detect quickly while doing SROA's initial analysis. Notably, this allows it
to promote through no-op bitcast and GEP sequences. A core part of the
SSAUpdater approach is the ability to test whether a particular instruction is
part of the set being promoted. Testing this becomes significantly more complex
in the world where the operand to every load and store isn't the alloca itself.
I ended up using the approach of walking up the def-chain until we find the
alloca. I benchmarked this against keeping a set of pointer operands and
keeping a set of the loads and stores we care about, and this one seemed faster
although the difference was very small.

No test case yet because currently the rewriting always "fixes" the inputs to
not require this. The next patch which re-enables early promotion of easy cases
in SROA will include a test case that specifically exercises this aspect of the
alloca promoter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188145 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-11 01:56:15 +00:00
..
Analysis Teach ValueTracking about address spaces 2013-08-10 17:34:08 +00:00
AsmParser Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. 2013-07-12 06:02:35 +00:00
Bitcode Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
CodeGen [stackprotector] Simplify SP Pass so that we emit different fail basic blocks for each fail condition. 2013-08-09 21:26:18 +00:00
DebugInfo Store compile unit corresponding to each chain of inlined debug info entries. No functionality change. 2013-08-06 10:49:15 +00:00
ExecutionEngine Optimistically ignore scattered relocations in MachO in RuntimeDyld. This 2013-08-09 00:57:01 +00:00
IR DebugInfo: provide the ability to add members to a class after it has been constructed 2013-08-09 17:17:12 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
MC [CodeGen] prevent abnormal on invalid attributes 2013-08-09 01:52:03 +00:00
Object Add back missing PPC relocation types. 2013-08-09 09:42:14 +00:00
Option Option/CMakeLists.txt: Don't use target_link_libraries. LLVMBuild knows dependencies. 2013-08-06 05:56:32 +00:00
Support Check for $PWD in llvm::sys::current_path. 2013-08-10 00:50:57 +00:00
TableGen Remove some std stream usage from Support and TableGen 2013-08-06 22:51:21 +00:00
Target Incorrect JAL instruction attributes caused the optimizer to make a wrong 2013-08-10 22:18:22 +00:00
Transforms Finish fixing the SSAUpdater-based AllocaPromoter strategy in SROA to cope with 2013-08-11 01:56:15 +00:00
CMakeLists.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
LLVMBuild.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
Makefile Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00