[LLVMdev] making emitInlineAsm protected

Eric Christopher echristo at gmail.com
Fri Jan 31 11:01:50 PST 2014


Fair enough. I agree with Rafael's other message in this thread. :)
On Jan 31, 2014 10:58 AM, "Daniel Sanders" <Daniel.Sanders at imgtec.com>
wrote:

> I believe my suggestion reduces this particular use and moves most targets
> further towards the MC layer.
>
> At the moment, EmitInlineAsm is can be written in pseudo code as:
>    if raw text support is available:
>       use raw text support
>    elif the MC layer is available:
>       use the MC layer
>    else
>       raise error
>
> My suggestion swaps those first two conditions so that the pseudo code
> becomes:
>    if the MC layer is available and functional:
>       use the MC layer
>    elif raw text support is available:
>       use raw text support
>    else:
>       raise error
>
> My main query is about whether swapping the conditions makes sense
> regardless of the decision on the original request. That said, swapping the
> conditions may reduce your concerns about exposing EmitInlineAsm and using
> it for the stubs since the MC path becomes the primary path through the
> function.
> ________________________________________
> From: Eric Christopher [echristo at gmail.com]
> Sent: 31 January 2014 17:19
> To: Daniel Sanders
> Cc: Rafael EspĂ­ndola; Reed Kotler; LLVMdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] making emitInlineAsm protected
>
> Mostly raw text support should only be used for things like comments
> that don't affect the overall output in the object file either way. I
> know that Rafael and I want to remove any other use.
>
> -eric
>
> On Fri, Jan 31, 2014 at 2:26 AM, Daniel Sanders
> <Daniel.Sanders at imgtec.com> wrote:
> > It may be moot because Reed is currently rewriting the patch to avoid
> using EmitInlineAsm and EmitRawText but I wanted to question something here.
> >
> > I'm thinking that hasRawTextSupport() shouldn't be the condition used
> inside EmitInlineAsm. I think it would be more correct to have a
> useRawTextSupport() predicate that can return hasRawTextSupport() for
> (sub)targets that haven't implemented their MC layer, and false for those
> that have. What do you think?
> >
> >> -----Original Message-----
> >> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> >> On Behalf Of Rafael EspĂ­ndola
> >> Sent: 29 January 2014 20:14
> >> To: Reed Kotler
> >> Cc: LLVMdev at cs.uiuc.edu
> >> Subject: Re: [LLVMdev] making emitInlineAsm protected
> >>
> >> On 28 January 2014 19:56, reed kotler <rkotler at mips.com> wrote:
> >> > I would like to make the following member of AsmPrinter be protected
> >> >
> >> >
> >> > void EmitInlineAsm(StringRef Str, const MDNode *LocMDNode = 0,
> >> >                        InlineAsm::AsmDialect AsmDialect =
> >> >                            InlineAsm::AD_ATT) const;
> >> >
> >> > I have some stubs that I want to emit in MipsAsmParser .
> >>
> >> You mean Printer? There is no such a thing as inline asm in a .s file.
> >>
> >> > Are there any objections to doing this?
> >>
> >> Probably. EmitInilneAsm is the only case I know that has a reasonable
> use of
> >> hasRawTextSupport in order for it to work on targets without an asm
> parser.
> >> Exposing it exposes a way for targets avoid the MC layer.
> >>
> >> Cheers,
> >> Rafael
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140131/2523f88e/attachment.html>


More information about the llvm-dev mailing list