Go to file
Jakob Stoklund Olesen 8b1d023a4a 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>

llvm-svn: 147912
2012-01-11 02:07:05 +00:00
clang Typo in test. 2012-01-11 01:35:55 +00:00
compiler-rt [asan] get rid of the scary TSD destructor code. Now, we store the leaky AsanThreadSummary in TSD and never remove it from there. 2012-01-11 02:03:16 +00:00
debuginfo-tests Testcase for r133065 2011-06-15 17:57:23 +00:00
libclc Update repository paths. 2012-01-08 22:31:18 +00:00
libcxx Fix http://llvm.org/bugs/show_bug.cgi?id=11734 2012-01-10 15:15:47 +00:00
libcxxabi This is a transitory commit for __dynamic_cast. It contains debugging statements that are not intended to be in the finished product. However some of the dubbing statements themselves contain important documentation such as how to navigate a __class_type_info hierarchy, documenting object offset and inheritance access. The intention is that this debugging code will migrate into both actual code and comments. And capturing it here so that there is no chance this stuff will be lost. 2012-01-11 00:11:17 +00:00
lld A couple of big refactorings: 1) Move most attributes of Atom down to DefinedAtom, so only atoms representing definitions need to implement them. 2) Remove definitionTentative, definitionWeak, mergeDuplicates, and autoHide. Replace with merge and interposable attributes. 3) Make all methods on Atom be virtual so that future object file readers can lazily generated attributes 2012-01-11 01:06:19 +00:00
lldb Add more usage examples. 2012-01-11 01:59:55 +00:00
llvm Detect when a value is undefined on an edge to a landing pad. 2012-01-11 02:07:05 +00:00
polly add polly.sh script 2012-01-04 20:11:18 +00:00