llvm-6502/test
Jakob Stoklund Olesen 2aad2f6e60 Detect when a value is undefined on an edge to a landing pad.
Consider this code:

int h() {
  int x;
  try {
    x = f();
    g();
  } catch (...) {
    return x+1;
  }
  return x;
}

The variable x is undefined on the first edge to the landing pad, but it
has the f() return value on the second edge to the landing pad.

SplitAnalysis::getLastSplitPoint() would assume that the return value
from f() was live into the landing pad when f() throws, which is of
course impossible.

Detect these cases, and treat them as if the landing pad wasn't there.
This allows spill code to be inserted after the function call to f().

<rdar://problem/10664933>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147912 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-11 02:07:05 +00:00
..
Analysis Change CaptureTracking to pass a Use* instead of a Value* when a value is 2011-12-28 23:24:21 +00:00
Archive
Assembler Add an explicit test of the auto-upgrade functionality for the new 2011-12-12 11:23:11 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Detect when a value is undefined on an edge to a landing pad. 2012-01-11 02:07:05 +00:00
DebugInfo Don't avoid recursing for pointer types, just reference types. Expand on 2012-01-11 00:01:29 +00:00
ExecutionEngine
Feature The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
Instrumentation/AddressSanitizer [asan] one more test for asan instrumentation: (*a)++ should be instrumented only once. 2012-01-04 01:02:14 +00:00
Integer
lib
Linker Link symbols with different visibilities according to the rules in the 2012-01-05 23:02:01 +00:00
MC Various crash reporting tools have a problem with the dwarf generated for 2012-01-10 17:52:29 +00:00
Object
Other Deleting the json-bench-test until I understand why it is flaky. 2011-12-17 06:29:32 +00:00
Scripts
TableGen
Transforms If the global variable is removed by the linker, then don't constant merge it 2012-01-11 00:13:08 +00:00
Unit
Verifier Teach the verifier to reject all non-constant arguments to the second 2011-12-12 04:36:02 +00:00
CMakeLists.txt Adds a JSON parser and a benchmark (json-bench) to catch performance regressions. 2011-12-16 13:09:10 +00:00
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh