-
Notifications
You must be signed in to change notification settings - Fork 12.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DebugInfo][RemoveDIs] Phi nodes and debug records #85254
Comments
@llvm/issue-subscribers-debuginfo Author: Rodolfo Wottrich (rgwott)
The works discussed in [1] caused a regression downstream that can be reproduced upstream. We understand this is some weird interaction of the removal of debug intrinsics with phi nodes in some cases.
Until recently the error message was something else but [2] changed the error:
Reproducer:
[1] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939 |
Looks like the likely candidate is here: https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/HardwareLoops.cpp#L583 |
Fixes: #85254 Hardware loops inserts PHIs at the position `getFirstNonPhi()`, which is incorrect - instead, `getFirstNonPhiIt()` is required to not insert the PHI after any debug records that immediately follow the last existing PHI.
The works discussed in [1] caused a regression downstream that can be reproduced upstream. We understand this is some weird interaction of the removal of debug intrinsics with phi nodes in some cases.
Until recently the error message was something else but [2] changed the error:
Reproducer:
clang -c -O1 --target=arm-arm-none-eabi -march=armv8.1-m.main -g repro.c
[1] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
[2] #84054
The text was updated successfully, but these errors were encountered: