Go to file
Jakob Stoklund Olesen 82d77e8145 Run proper recursive dead code elimination during coalescing.
Dead copies cause problems because they are trivial to coalesce, but
removing them gived the live range a dangling end point. This patch
enables full dead code elimination which trims live ranges to their uses
so end points don't dangle.

DCE may erase multiple instructions. Put the pointers in an ErasedInstrs
set so we never risk visiting erased instructions in the work list.

There isn't supposed to be any dead copies entering RegisterCoalescer,
but they do slip by as evidenced by test/CodeGen/X86/coalescer-dce.ll.

llvm-svn: 157101
2012-05-19 05:25:50 +00:00
clang Update API usage for llvm DIBuilder changes for rvalue reference 2012-05-19 01:36:50 +00:00
compiler-rt tsan: check for overflow in malloc() 2012-05-18 09:41:52 +00:00
debuginfo-tests Revert previous patch as the corresponding clang patch was reverted. 2012-01-26 07:01:33 +00:00
libclc Switch to BSD/MIT dual license. 2012-02-22 04:47:39 +00:00
libcxx Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member 2012-05-19 04:41:25 +00:00
libcxxabi Fix bug in cxa_demangle involving template substitution. 2012-05-02 15:38:11 +00:00
lld remove completed items 2012-05-04 01:14:02 +00:00
lldb Updated LLVM to take a disassembler fix that causes 2012-05-19 02:36:49 +00:00
llvm Run proper recursive dead code elimination during coalescing. 2012-05-19 05:25:50 +00:00
polly make registerPollyPreoptPasses static 2012-05-07 21:27:11 +00:00