Check the list of indirect targets; if there's an indirect target
that's not also listed in the operand list, we have a problem.
I'm seeing something funny going on in a particular transform. This
added check is helping me pinpoint it in opt.
Differential D64053
[Verifier] add test case for callbr nickdesaulniers on Jul 1 2019, 6:11 PM. Authored by
Details
Check the list of indirect targets; if there's an indirect target I'm seeing something funny going on in a particular transform. This
Diff Detail
Event TimelineComment Actions Is this documented in LangRef somewhere? I'm not seeing anything that indicates the blockaddress has to be an operand of the callbr, and I'm not sure why it would be necessary. Comment Actions Good point; while I think this kind of invariant exists from asm goto C code that gets generated, I don't think LLVM IR in general requires such an invariant. This was mostly used to help me debug https://reviews.llvm.org/D64101. |