Skip to content

Commit 36a723a

Browse files
committed
Sink common code in split_point_for_conflict
1 parent de9c56e commit 36a723a

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

crates/codegen/src/regalloc/split.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ impl<M: MachineRegalloc> RegAllocContext<'_, M> {
120120
return None;
121121
}
122122

123-
match boundary {
123+
let instr = match boundary {
124124
ConflictBoundary::StartsAt(instr) => {
125125
let last_instr_below = self
126126
.fragment_instrs(fragment)
@@ -130,23 +130,20 @@ impl<M: MachineRegalloc> RegAllocContext<'_, M> {
130130
.take_while(|&frag_instr| frag_instr < instr)
131131
.last();
132132

133-
let instr = last_instr_below.unwrap_or(instr);
134-
135-
self.can_split_fragment_before(fragment, instr)
136-
.then_some(instr)
133+
last_instr_below.unwrap_or(instr)
137134
}
138135
ConflictBoundary::EndsAt(instr) => {
139136
let first_instr_above = self
140137
.fragment_instrs(fragment)
141138
.map(|frag_instr| frag_instr.instr())
142139
.find(|&frag_instr| frag_instr > instr);
143140

144-
let instr = first_instr_above.unwrap_or(instr);
145-
146-
self.can_split_fragment_before(fragment, instr)
147-
.then_some(instr)
141+
first_instr_above.unwrap_or(instr)
148142
}
149-
}
143+
};
144+
145+
self.can_split_fragment_before(fragment, instr)
146+
.then_some(instr)
150147
}
151148

152149
fn split_fragment_before(&mut self, fragment: LiveSetFragment, instr: Instr) {

0 commit comments

Comments
 (0)