llvm/lib
Bob Wilson f1b41dd38d Record landing pads with a SmallSetVector to avoid multiple entries.
There may be many invokes that share one landing pad, and the previous code
would record the landing pad once for each invoke.  Besides the wasted
effort, a pair of volatile loads gets inserted every time the landing pad is
processed.  The rest of the code can get optimized away when a landing pad
is processed repeatedly, but the volatile loads remain, resulting in code like:

LBB35_18:
Ltmp483:
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r2, [r7, #-72]
        ldr     r2, [r7, #-68]
        ldr     r4, [r7, #-72]
        ldr     r2, [r7, #-68]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144787 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 07:57:21 +00:00
..
Analysis Fix SCEV overly optimistic back edge taken count for multi-exit loops. 2011-11-16 00:52:40 +00:00
Archive build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
AsmParser build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Bitcode build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
CodeGen Record landing pads with a SmallSetVector to avoid multiple entries. 2011-11-16 07:57:21 +00:00
DebugInfo Audited all the format strings in libDebugInfo and fixed those that didn't match the types. 2011-11-05 16:01:13 +00:00
ExecutionEngine Remove all remaining uses of Value::getNameStr(). 2011-11-15 16:27:03 +00:00
Linker build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
MC Remove function printMipsSymbolRef. 2011-11-15 18:38:35 +00:00
Object build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
Support Move WEAK marking to the declaration. 2011-11-15 01:23:22 +00:00
TableGen ARM vldm and vstm VFP instructions can take a data type suffix. 2011-11-11 23:08:10 +00:00
Target Fix the execution domain on a bunch of SSE/AVX instructions. 2011-11-16 07:30:46 +00:00
Transforms Merge isObjectPointerWithTrustworthySize with getPointerSize. Use it when 2011-11-16 03:49:48 +00:00
VMCore Rename MVT::untyped to MVT::Untyped to match similar nomenclature. 2011-11-16 01:02:57 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00