[llvm-dev] [cfe-dev] [RFC] ASM Goto With Output Constraints

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 27 13:34:38 PDT 2019

This was Chandler's proposal after observing the number of places I had to
update in MachinePasses to understand the control flow change happening in
the middle of the basic block. He thought just making it a terminator would
make it simpler.

There is some special casing of exception handling in MachineIR passes to
make the control flow for invoke work. Look for isEHPad()
or hasEHPadSuccessor()


On Thu, Jun 27, 2019 at 1:23 PM Bill Wendling <isanbard at gmail.com> wrote:

> On Thu, Jun 27, 2019 at 12:32 PM Craig Topper <craig.topper at gmail.com>
> wrote:
>> What about SelectionDAG representation? Currently we expand callbr to
>> INLINEASM_BR and BR. Both of which are terminators. But in order to support
>> outputs we would need to put CopyFromReg nodes between them.
> Is there a reason why callbr needs to be lowered to INLINEASM_BR and not a
> normal INLINEASM?
> -bw
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190627/0db405d8/attachment.html>

More information about the llvm-dev mailing list