llvm-6502/lib
Jakob Stoklund Olesen 5636660176 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157130 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19 20:54:03 +00:00
..
Analysis Actually support DW_TAG_rvalue_reference_type that we were trying 2012-05-19 01:36:37 +00:00
Archive Include cstdio in a few place that depended on getting it transitively through StringExtras.h 2012-03-23 11:35:30 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode SwitchInst cosmetics: renamed "Hash" method to "hash" 2012-05-14 08:26:31 +00:00
CodeGen Fix an ancient bug in removeCopyByCommutingDef(). 2012-05-19 20:54:03 +00:00
DebugInfo Fix a C++11 UDL conflict. 2012-04-04 20:33:56 +00:00
ExecutionEngine Added LLIMCJITMemoryManager to the lli. This manager will be used for MCJIT instead of DefaultJIMMemoryManager. 2012-05-16 18:50:11 +00:00
Linker Supply a C interface to the "LinkModules" method. 2012-05-09 08:55:40 +00:00
MC Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
Object Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
Support fix corner case in ConstantRange::intersectWith(). 2012-05-18 00:14:36 +00:00
TableGen Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
Target On Haswell, perfer storing YMM registers using a single instruction. 2012-05-19 20:30:08 +00:00
Transforms Fix replacing all the users of objc weak runtime routines 2012-05-18 22:17:29 +00:00
VMCore Move CallbackVHs dtor inline, it can be devirtualized in many cases. Move the other virtual methods out of line as they are only called from within Value.cpp anyway. 2012-05-19 19:15:25 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile