You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[OMPIRBuilder] Improve DIOp based expression generation.
This fixes SWDEV-534522. It was reported that build fails in certain
cases with the following error:
invalid expression
!DIExpression(DIOpArg(0, i32), DIOpSExt(i64), DIOpDeref(i64))
The problem occur with #dbg_value debug records that are generated for
the artificial variables for array with variable dimension. DIOpDeref
requires a pointer type and this fails verification.
Please note that OMPIRBuilder actually never generated this expression.
It resulted from the later transforms. This is the reason that we don't
see this problem on O0.
The fix was to not generate the DIOpDeref for non-pointer location but I
have done some more cleanup inspired by what Scott recently did for
the declare target functions. We are now only generating the DIOp
expression for variable residing in allocas.
0 commit comments