llvm-6502/lib
Evan Cheng d99d68bcee Fix two-address pass's aggressive instruction commuting heuristics. It's meant
to catch cases like:
 %reg1024<def> = MOV r1
 %reg1025<def> = MOV r0
 %reg1026<def> = ADD %reg1024, %reg1025
 r0            = MOV %reg1026

By commuting ADD, it let coalescer eliminate all of the copies. However, there
was a bug in the heuristics where it ended up commuting the ADD in:

 %reg1024<def> = MOV r0
 %reg1025<def> = MOV 0
 %reg1026<def> = ADD %reg1024, %reg1025
 r0            = MOV %reg1026

That did no benefit but rather ensure the last MOV would not be coalesced.

rdar://11355268


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156048 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03 01:45:13 +00:00
..
Analysis Just mark the sign bit as known zero, rather than any other irrelevant bits 2012-04-30 11:56:58 +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 llvm::SwitchInst 2012-03-11 06:09:17 +00:00
CodeGen Fix two-address pass's aggressive instruction commuting heuristics. It's meant 2012-05-03 01:45:13 +00:00
DebugInfo Fix a C++11 UDL conflict. 2012-04-04 20:33:56 +00:00
ExecutionEngine RuntimeDyld cleanup: 2012-05-01 10:41:12 +00:00
Linker Add a flag to the struct type finder to collect only those types which have 2012-04-21 23:59:16 +00:00
MC MC: Unknown assembler directives are now hard errors. 2012-05-01 18:38:27 +00:00
Object Fix the implementation of MachOObjectFile::isSectionZeroInit so it follows the MachO spec. 2012-05-02 02:31:28 +00:00
Support Change the Intel Atom detection code to recognize 2012-05-02 21:38:46 +00:00
TableGen Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
Target Added TargetRegisterInfo::getAllocatableClass. 2012-05-03 01:14:37 +00:00
Transforms Whitespace cleanup. 2012-05-02 23:43:23 +00:00
VMCore Reapply r155682, making constant folding more consistent, with a fix to work 2012-04-27 17:50:22 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00