Go to file
Philip Reames 2b969d7010 Merge empty landing pads in SimplifyCFG
This patch tries to merge duplicate landing pads when they branch to a common shared target.

Given IR that looks like this:
lpad1:
  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
         cleanup
  br label %shared_resume
lpad2:
  %exn2 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
          cleanup
  br label %shared_resume
shared_resume:
  call void @fn()
  ret void
}

We can rewrite the users of both landing pad blocks to use one of them. This will generally allow the shared_resume block to be merged with the common landing pad as well.

Without this change, tail duplication would likely kick in - creating N (2 in this case) copies of the shared_resume basic block.

Differential Revision: http://reviews.llvm.org/D8297

llvm-svn: 233125
2015-03-24 22:28:45 +00:00
clang [Modules] Stop creating timestamps for the modules cache and trying to 2015-03-24 21:44:25 +00:00
clang-tools-extra Fix false positive on anonymous namespaces in headers. 2015-03-24 15:21:45 +00:00
compiler-rt Revert "Revert "[UBSan] Use shared library for UBSan on OS X" and its followup" 2015-03-24 21:57:07 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Implement fast_distance builtin 2015-03-23 18:10:04 +00:00
libcxx Fix incorrect error handling of call to mbrtowc. This is PR#13759. Leaving the bug open because (1) I'm not sure that we're correct here, only better than before, and (2) no tests 2015-03-23 20:07:17 +00:00
libcxxabi Don't print debugging messages to stdout. 2015-03-19 09:17:21 +00:00
lld [Mips] Suppress "right shift by too large amount" warning 2015-03-24 15:49:59 +00:00
lldb Fix some -Winconsistent-missing-override warnings (& some particularly weird indenting) 2015-03-24 22:10:47 +00:00
llgo llgoi: Fix type identity for imported binary packages. 2015-03-18 08:34:40 +00:00
llvm Merge empty landing pads in SimplifyCFG 2015-03-24 22:28:45 +00:00
openmp fix for broken commit 231774 2015-03-10 10:14:57 +00:00
polly Drop -polly-vectorizer-unroll-only option 2015-03-23 07:00:36 +00:00