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

Bill Wendling via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 27 13:58:56 PDT 2019


I see. I can think of a couple of ways to handle this, but they fall into
the hacky category. It may just be that we need to bite the bullet and
update all of the places in the MachinePasses. :-( Could you point to the
comments made by you and Chandler? I'd like to familiarize myself with them.

-bw

On Thu, Jun 27, 2019 at 1:34 PM Craig Topper <craig.topper at gmail.com> wrote:

> 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/5dab7760/attachment.html>


More information about the llvm-dev mailing list