]> granicus.if.org Git - llvm/commit
[X86] Support LEA64_32r in processInstrForSlow3OpLEA and use INC/DEC when possible.
authorCraig Topper <craig.topper@intel.com>
Mon, 7 Oct 2019 06:27:55 +0000 (06:27 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 7 Oct 2019 06:27:55 +0000 (06:27 +0000)
commit46a61cfdb62c4250ba7d1bcf083fcf0d7aa3aa8d
tree14d34a8ef9d61a61412c0460dfb47d6f105138cf
parent442747eb5a103761be4de12a7defa6bfed1c03aa
[X86] Support LEA64_32r in processInstrForSlow3OpLEA and use INC/DEC when possible.

Move the erasing and iterator updating inside to match the
other slow LEA function.

I've adapted code from optTwoAddrLEA and basically rebuilt the
implementation here. We do lose the kill flags now just like
optTwoAddrLEA. This runs late enough in the pipeline that
shouldn't really be a problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373877 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FixupLEAs.cpp
test/CodeGen/X86/leaFixup32.mir
test/CodeGen/X86/leaFixup64.mir
test/CodeGen/X86/select-1-or-neg1.ll