diff options
author | Afanasyev Ivan <ivafanas@gmail.com> | 2024-10-30 00:26:15 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-29 10:26:15 -0700 |
commit | 4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f (patch) | |
tree | 1e8b95e72241d88c2aefe0660641c63c356ec429 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | d661aea4c5668fc9b06f4b26d9fb072b1a6d7ff4 (diff) | |
download | llvm-4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f.zip llvm-4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f.tar.gz llvm-4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f.tar.bz2 |
[mir-strip-debug] Fix debug location info strip for bundled instructions (#113676)
Fix bug that `mir-strip-debug` pass does not remove debug location from
bundled instructions.
Problem arises during testing that debug info does not affect
optimization passes output (`llvm-lit` with ` -Dllc="llc
-debugify-and-strip-all-safe"`), when pass operates on MIR with bundled
instructions + memory operands.
Let mir test check looks like:
```
CHECK-NEXT: BUNDLE {
CHECK-NEXT: $r3 = LD $r1, $r2 :: (load (s64) from %ir.a, !tbaa !2)
CHECK-NEXT: }
```
So as `mir-strip-debug` pass does not process bundled instructions,
running `llc -debugify-and-strip-all-safe` on the test will produce the
following output:
```
BUNDLE {
$r3 = LD $r1, $r2, debug-location !DILocation(line: 3, column: 1, scope: <0x608cb2b99b10>) :: (load (s64) from %ir.a, !tbaa !2)
}
```
And test will fail, but it shouldn't.
Seems like the root cause is that `mir-strip-debug` pass should remove
debug location from bundled instructions.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions