llvm-project/llvm/test
Philip Reames 6da37857d1 [RewriteStatepointsForGC] Fix a relocation bug w.r.t values defined by invoke instructions
RewriteStatepointsForGC pass emits an alloca for each GC pointer which will be relocated. It then inserts stores after def and all relocations, and inserts loads before each use as well. In the end, mem2reg is used to update IR with relocations in SSA form.

However, there is a problem with inserting stores for values defined by invoke instructions. The code didn't expect a def was a terminator instruction, and inserting instructions after these terminators resulted in malformed IR.

This patch fixes this problem by handling invoke instructions as a special case. If the def is an invoke instruction, the store will be inserted at the beginning of the normal destination block. Since return value from invoke instruction does not dominate the unwind destination block, no action is needed there.

Patch by: Chen Li
Differential Revision: http://reviews.llvm.org/D7923

llvm-svn: 231183
2015-03-04 00:13:52 +00:00
..
Analysis Make llvm.eh.begincatch use an outparam 2015-03-03 17:41:09 +00:00
Assembler DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Bindings DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Bitcode [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
BugPoint DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
CodeGen Remove 'llvm.x86.avx2.vbroadcasti128' intrinsic. 2015-03-04 00:13:25 +00:00
DebugInfo [X86][ELF] Correct relocation for DWARF TLS references 2015-03-03 21:01:27 +00:00
ExecutionEngine [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
Feature DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
FileCheck FileCheck: Add CHECK-SAME 2015-02-26 04:53:00 +00:00
Instrumentation [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for fuzzing). 2015-03-03 23:27:02 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
JitListener DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
LTO [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
Linker DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
MC Add the following 64-bit vector integer arithmetic instructions added in POWER8: 2015-03-03 19:55:45 +00:00
Object Make llvm/test/Object/archive-format.test CRLF-tolerant. 2015-03-03 15:54:48 +00:00
Other [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
SymbolRewriter SymbolRewriter: allow rewriting with comdats 2015-01-27 22:57:39 +00:00
TableGen
Transforms [RewriteStatepointsForGC] Fix a relocation bug w.r.t values defined by invoke instructions 2015-03-04 00:13:52 +00:00
Unit
Verifier Teach the verifier to enforce that the alignment argument of memory intrinsics must be a power of 2. 2015-03-02 09:35:06 +00:00
YAMLParser
tools Correctly handle -pass-remarks in the gold plugin. 2015-03-03 21:11:13 +00:00
.clang-format
CMakeLists.txt Back out two accidental changes that snuck in with r229245. Sorry these 2015-02-14 09:05:58 +00:00
Makefile Attempt to fix the builders. 2015-02-22 07:01:41 +00:00
Makefile.tests
TestRunner.sh
lit.cfg Change SystemZ large tests to use the existing long_tests property 2015-03-02 19:34:11 +00:00
lit.site.cfg.in Remove log statements from config scripts. 2015-02-22 07:31:42 +00:00