[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()

~Craig


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