Verify the LiveIntervals analysis after a pass that claims to preserve
it, even if there are no further passes (apart from the verifier itself)
that would use the analysis.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir | ||
---|---|---|
33 | This is a side effect of LiveIntervals being available when SILowerControlFlow runs. SILowerControlFlow says: // This doesn't actually need LiveIntervals, but we can preserve them. LIS = getAnalysisIfAvailable<LiveIntervals>(); but in fact the presence of LiveIntervals does affect the output as shown by these diffs, so the perhaps the pass should call AU.addUsedIfAvailable<LiveIntervals>() in its getAnalysisUsage? |
Comment Actions
FIXME: Hexagon tests fail with: *** Bad machine code: Multiple connected components in live interval *** after Hexagon Expand Condsets.
Comment Actions
FIXME: Other AMDGPU tests fail with *** Bad machine code: Multiple connected components in live interval *** after SI optimize exec mask operations pre-RA.
This comment was removed by foad.
This is a side effect of LiveIntervals being available when SILowerControlFlow runs.
SILowerControlFlow says:
but in fact the presence of LiveIntervals does affect the output as shown by these diffs, so the perhaps the pass should call AU.addUsedIfAvailable<LiveIntervals>() in its getAnalysisUsage?