aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/MachineTailDuplication.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-10 20:36:50 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-10 20:36:50 +0800
commitadcf8c9b1bd1b47e00bf859693112cea1f7e8c9f (patch)
tree59067aa71befab31678946dbf5e19f57131dd6f2 /backend/lib/CodeGen/MachineTailDuplication.cpp
parent3a57627e59ba18b6f9f9aae7bb60c390c0d3575a (diff)
downloadrcc-project-adcf8c9b1bd1b47e00bf859693112cea1f7e8c9f.tar.gz
rcc-project-adcf8c9b1bd1b47e00bf859693112cea1f7e8c9f.tar.xz
[Tooling] Complete backend tooling and validation
Diffstat (limited to 'backend/lib/CodeGen/MachineTailDuplication.cpp')
-rw-r--r--backend/lib/CodeGen/MachineTailDuplication.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/backend/lib/CodeGen/MachineTailDuplication.cpp b/backend/lib/CodeGen/MachineTailDuplication.cpp
index a130680..40d448f 100644
--- a/backend/lib/CodeGen/MachineTailDuplication.cpp
+++ b/backend/lib/CodeGen/MachineTailDuplication.cpp
@@ -286,7 +286,8 @@ MachineTailDuplicationPass::runImplementation(MachineFunction &Function,
Tail = Next;
continue;
}
- const std::size_t Cost = (*Candidate)->Body.size() + 1U;
+ const auto &TailCandidate = Candidate->value();
+ const std::size_t Cost = TailCandidate.Body.size() + 1U;
const std::vector<MachineBasicBlock *> Predecessors(Tail->predecessors().begin(),
Tail->predecessors().end());
for (MachineBasicBlock *Predecessor : Predecessors) {
@@ -296,7 +297,7 @@ MachineTailDuplicationPass::runImplementation(MachineFunction &Function,
break;
}
auto Duplicated =
- duplicateTailIntoPredecessor(**Candidate, *Tail, *Predecessor, Function, Target, *Info);
+ duplicateTailIntoPredecessor(TailCandidate, *Tail, *Predecessor, Function, Target, *Info);
if (!Duplicated)
return std::unexpected(Duplicated.error());
if (!*Duplicated)