[all-commits] [llvm/llvm-project] ad8db9: [RISCV] Eagerly delete instructions in MergeBaseOf...
Craig Topper via All-commits
all-commits at lists.llvm.org
Mon Aug 1 09:33:53 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ad8db972b0d5b29ba3e0dc422100f2ca2ac04340
https://github.com/llvm/llvm-project/commit/ad8db972b0d5b29ba3e0dc422100f2ca2ac04340
Author: Craig Topper <craig.topper at sifive.com>
Date: 2022-08-01 (Mon, 01 Aug 2022)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
Log Message:
-----------
[RISCV] Eagerly delete instructions in MergeBaseOffset.
The only iterator we're holding points to HiLUI and we never
delete that so I think it is safe to delete everything else
immediately.
I want to split detectAndFoldOffset into two phases. First, combine
LUI+ADDI with any ADD/ADDI/SHXADD that comes after it. This may
open opportunities to fold the ADDI from the LUI+ADDI into a
load/store address. So the load/store folding should run as a
second phase even if the ADD/ADDI/SHXADD made changes.
In order to do this we need to eagerly delete instructions in the
first phase so that we don't have dead users of the LUI+ADDI
when we start the second phase.
Patches to split the phases will come later.
Reviewed By: asb, luismarques
Differential Revision: https://reviews.llvm.org/D130119
More information about the All-commits
mailing list