Skip to content

Commit c14d5b4

Browse files
[lldb][nfc] Avoid duplicate calls to GetInstructionCondition in UnwindAssemblyInstEmulation (llvm#168340)
(cherry picked from commit 74c9168)
1 parent f2dc577 commit c14d5b4

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,10 @@ bool UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly(
174174

175175
m_inst_emulator_up->SetInstruction(inst->GetOpcode(), inst->GetAddress(),
176176
nullptr);
177+
const EmulateInstruction::InstructionCondition new_condition =
178+
m_inst_emulator_up->GetInstructionCondition();
177179

178-
if (last_condition != m_inst_emulator_up->GetInstructionCondition()) {
180+
if (last_condition != new_condition) {
179181
// If the last instruction was conditional with a different condition
180182
// than the current condition then restore the state.
181183
if (last_condition != EmulateInstruction::UnconditionalCondition) {
@@ -190,7 +192,7 @@ bool UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly(
190192
condition_block_start_state = it;
191193
}
192194

193-
last_condition = m_inst_emulator_up->GetInstructionCondition();
195+
last_condition = new_condition;
194196

195197
m_inst_emulator_up->EvaluateInstruction(
196198
eEmulateInstructionOptionIgnoreConditions);

0 commit comments

Comments
 (0)