summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-12-14 21:34:53 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-12-14 21:34:53 +0000
commit19dc77cec6b66adacc5663ed3afb7ab4aabe57a9 (patch)
treee49798ac3cc84990fe41c028bfd27eb4a0c20be7 /clang/lib/Sema/SemaExpr.cpp
parentd96bd53d0422955dd3237c0f5805d02e973f3812 (diff)
downloadbcm5719-llvm-19dc77cec6b66adacc5663ed3afb7ab4aabe57a9.tar.gz
bcm5719-llvm-19dc77cec6b66adacc5663ed3afb7ab4aabe57a9.zip
Fix a minor bug in two-address pass. It was missing a commute opportunity.
regB = move RCX regA = op regB, regC RAX = move regA where both regB and regC are killed. If regB is constrainted to non-compatible physical registers but regC is not constrainted at all, then it's better to commute the instruction. movl %edi, %eax shlq $32, %rcx leaq (%rcx,%rax), %rax => movl %edi, %eax shlq $32, %rcx orq %rcx, %rax rdar://8762995 llvm-svn: 121793
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud