[PATCH] D46738: [DebugInfo] Fix PR37395.
Hsiangkai Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun May 27 22:38:59 PDT 2018
HsiangKai added a comment.
In https://reviews.llvm.org/D46738#1107419, @HsiangKai wrote:
> In https://reviews.llvm.org/D46738#1106563, @aprantl wrote:
>
> > > getVariableLocation() assumes all DbgInfoIntrinsic has the address value as its first operand. It is not the case for DILabel.
> >
> >
> >
> > > When the assertion is triggered, MDNode is DILabel. The first operand of DILabel is a metadata to keep label information, not address value. So, the second if contition, dyn_cast<ValueAsMetadata>, will return null.
> >
> >
> >
> > > It adds an assertion to ensure the number of operand must be zero before returning nullptr. I am not sure it is reasonable to check the condition before return. Is there any case it must ensure the number of operands be zero before returning nullptr?
> >
> > Why aren't you checking whether `this` is a DILabel instead?
>
>
> Although the fix is for DILabel now, I think it is a more general fix for DbgInfoIntrinsic without address as its first operand.
@aprantl: Do you agree my point?
Repository:
rL LLVM
https://reviews.llvm.org/D46738
More information about the llvm-commits
mailing list