Go to file
Jakob Stoklund Olesen 1b707c8817 Fix an ancient bug in removeCopyByCommutingDef().
Before rewriting uses of one value in A to register B, check that there
are no tied uses. That would require multiple A values to be rewritten.

This bug can't bite in the current version of the code for a fairly
subtle reason: A tied use would have caused 2-addr to insert a copy
before the use. If the copy has been coalesced, it will be found by the
same loop changed by this patch, and the optimization is aborted.

This was exposed by 400.perlbench and lua after applying a patch that
deletes joined copies aggressively.

llvm-svn: 157130
2012-05-19 20:54:03 +00:00
clang objective-c: Warn if default synthesizing readonly IBOutlet properties 2012-05-19 18:17:17 +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 Revert fix to http://llvm.org/bugs/show_bug.cgi?id=12867 for the reason now included in the code comment. 2012-05-19 20:20:49 +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 Fixes the case where we created a dummy target, deleted it, and then tried to evaluate an expression with no target. 2012-05-19 09:59:08 +00:00
llvm Fix an ancient bug in removeCopyByCommutingDef(). 2012-05-19 20:54:03 +00:00
polly make registerPollyPreoptPasses static 2012-05-07 21:27:11 +00:00