[llvm] [GlobalISel] IRTranslator: Use RAIIMFObsDelInstaller (PR #102379)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 7 14:49:27 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Tobias Stadler (tobias-stadler)
<details>
<summary>Changes</summary>
Similar to #<!-- -->102156.
runOnMachineFunction() installs the Observer correctly manually.
finishPendingPhis() doesn't install into the MF, but this currently
can't cause issues because DILocationVerifier doesn't care about changed
instructions.
Switch to RAIIMFObsDelInstaller in both places for consistency.
---
Full diff: https://github.com/llvm/llvm-project/pull/102379.diff
1 Files Affected:
- (modified) llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (+2-3)
``````````diff
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index 68a8a273a1b479..08fe9d11788a19 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -3339,7 +3339,7 @@ void IRTranslator::finishPendingPhis() {
#ifndef NDEBUG
DILocationVerifier Verifier;
GISelObserverWrapper WrapperObserver(&Verifier);
- RAIIDelegateInstaller DelInstall(*MF, &WrapperObserver);
+ RAIIMFObsDelInstaller ObsInstall(*MF, WrapperObserver);
#endif // ifndef NDEBUG
for (auto &Phi : PendingPHIs) {
const PHINode *PI = Phi.first;
@@ -3965,8 +3965,7 @@ bool IRTranslator::runOnMachineFunction(MachineFunction &CurMF) {
DILocationVerifier Verifier;
WrapperObserver.addObserver(&Verifier);
#endif // ifndef NDEBUG
- RAIIDelegateInstaller DelInstall(*MF, &WrapperObserver);
- RAIIMFObserverInstaller ObsInstall(*MF, WrapperObserver);
+ RAIIMFObsDelInstaller ObsInstall(*MF, WrapperObserver);
for (const BasicBlock *BB : RPOT) {
MachineBasicBlock &MBB = getMBB(*BB);
// Set the insertion point of all the following translations to
``````````
</details>
https://github.com/llvm/llvm-project/pull/102379
More information about the llvm-commits
mailing list