[all-commits] [llvm/llvm-project] 5609c8: [X86FixupLEAs] Try again to transform the sequence...
weiguozhi via All-commits
all-commits at lists.llvm.org
Fri Jul 16 10:19:12 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5609c8b60730519eeb7bc95b61d2c09879dff44b
https://github.com/llvm/llvm-project/commit/5609c8b60730519eeb7bc95b61d2c09879dff44b
Author: Guozhi Wei <carrot at google.com>
Date: 2021-07-16 (Fri, 16 Jul 2021)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
M llvm/test/CodeGen/X86/lea-opt2.ll
M llvm/test/CodeGen/X86/vp2intersect_multiple_pairs.ll
Log Message:
-----------
[X86FixupLEAs] Try again to transform the sequence LEA/SUB to SUB/SUB
This patch transforms the sequence
lea (reg1, reg2), reg3
sub reg3, reg4
to two sub instructions
sub reg1, reg4
sub reg2, reg4
Similar optimization can also be applied to LEA/ADD sequence.
The modifications to TwoAddressInstructionPass is to ensure the operands of ADD
instruction has expected order (the dest register of LEA should be src register
of ADD).
Differential Revision: https://reviews.llvm.org/D104684
More information about the All-commits
mailing list