summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2013-05-18 01:02:03 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2013-05-18 01:02:03 +0000
commit5ba473afb005343f7676723a05186233a6f1906f (patch)
tree52c2d401055515d018722fbe10185c193d173aa9 /clang
parente8cde68a2a24df74c2d3d4b95fbeb107fb45ec14 (diff)
downloadbcm5719-llvm-5ba473afb005343f7676723a05186233a6f1906f.tar.gz
bcm5719-llvm-5ba473afb005343f7676723a05186233a6f1906f.zip
X86: Bad peephole interaction between adc, MOV32r0
The peephole tries to reorder MOV32r0 instructions such that they are before the instruction that modifies EFLAGS. The problem is that the peephole does not consider the case where the instruction that modifies EFLAGS also depends on the previous state of EFLAGS. Instead, walk backwards until we find an instruction that has a def for EFLAGS but does not have a use. If we find such an instruction, insert the MOV32r0 before it. If it cannot find such an instruction, skip the optimization. llvm-svn: 182184
Diffstat (limited to 'clang')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud