| 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