diff options
author | Abid Qadeer <haqadeer@amd.com> | 2025-02-10 18:56:35 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-10 18:56:35 +0000 |
commit | 196a1acc7d277d05d4b94ad7745c18bf13ea991f (patch) | |
tree | c77bd6b6077feb823c75f63aac5eb2b0163a35da /llvm/lib/CodeGen/MachineOperand.cpp | |
parent | f101899ae8582be276758fe44e12cbf723d23b03 (diff) | |
download | llvm-196a1acc7d277d05d4b94ad7745c18bf13ea991f.zip llvm-196a1acc7d277d05d4b94ad7745c18bf13ea991f.tar.gz llvm-196a1acc7d277d05d4b94ad7745c18bf13ea991f.tar.bz2 |
[OMPIRBuilder][debug] Fix debug info for variables in target region. (#118314)
When a new function is created to handle OpenMP target region, the
variables used in it are passed as arguments. The scope and the location
of these variable contains still point to te parent function of the
target region. Such variables will fail in Verifier as the scope of the
variables will be different from the containing functions.
Currently, flang is the only user of createOutlinedFunction and it does
not generate any debug data for the the variables in the target region
to avoid this error. When this PR is in, we should be able to remove
this limit in the flang (and anyother client) and have the better debug
experience for the target region.
This PR changes the location and scope of the variables in the target
region to point to correct entities. It is similar to what
fixupDebugInfoPostExtraction does for CodeExtractor. I initially tried
to re-use that function but found quickly that it would require quite a
bit of re-factoring and additions before it could be used. It was much
simpler to make the changes locally.
Diffstat (limited to 'llvm/lib/CodeGen/MachineOperand.cpp')
0 files changed, 0 insertions, 0 deletions