Issue 56052
Summary PPCTLSDynamicCall does not preserve LiveIntervals
Labels backend:PowerPC
Assignees
Reporter jayfoad
    See https://reviews.llvm.org/D127731 WIP: [MachineVerifier] Try harder to verify analyses

If I apply just the MachineVerifier part of this patch then I see a couple of problems in the PowerPC CodeGen tests:

First they all fail with `Assertion `AnalysisPass && "Expected analysis pass to exist."' failed`. This has been discussed before on the mailing lists, and can be fixed with a patch like this:
```
diff --git a/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp b/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
index fbd487fbcfd5..28927280c8fc 100644
--- a/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
+++ b/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
@@ -218,6 +218,7 @@ public:
     void getAnalysisUsage(AnalysisUsage &AU) const override {
       AU.addRequired<LiveIntervals>();
       AU.addPreserved<LiveIntervals>();
+      AU.addPreservedID(MachineDominatorsID);
       AU.addRequired<SlotIndexes>();
       AU.addPreserved<SlotIndexes>();
       MachineFunctionPass::getAnalysisUsage(AU);
```
Second, over a hundred of them fail with various MachineVerifier errors. This is a real problem that needs to be fixed (or else this pass should stop claiming that it preserves LiveIntervals).
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to