[Lldb-commits] [lldb] [lldb][nfc] Avoid duplicate calls to GetInstructionCondition in UnwindAssemblyInstEmulation (PR #168340)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 17 02:38:48 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Felipe de Azevedo Piovezan (felipepiovezan)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/168340.diff
1 Files Affected:
- (modified) lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp (+4-2)
``````````diff
diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
index 790f230af74c9..8437a51471ca2 100644
--- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
@@ -174,8 +174,10 @@ bool UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly(
m_inst_emulator_up->SetInstruction(inst->GetOpcode(), inst->GetAddress(),
nullptr);
+ const EmulateInstruction::InstructionCondition new_condition =
+ m_inst_emulator_up->GetInstructionCondition();
- if (last_condition != m_inst_emulator_up->GetInstructionCondition()) {
+ if (last_condition != new_condition) {
// If the last instruction was conditional with a different condition
// than the current condition then restore the state.
if (last_condition != EmulateInstruction::UnconditionalCondition) {
@@ -190,7 +192,7 @@ bool UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly(
condition_block_start_state = it;
}
- last_condition = m_inst_emulator_up->GetInstructionCondition();
+ last_condition = new_condition;
m_inst_emulator_up->EvaluateInstruction(
eEmulateInstructionOptionIgnoreConditions);
``````````
</details>
https://github.com/llvm/llvm-project/pull/168340
More information about the lldb-commits
mailing list