[LLVMdev] #APP/#NOAPP

Richard Smith richard at metafoo.co.uk
Wed May 15 22:53:13 PDT 2013


On Mon, May 6, 2013 at 9:09 AM, reed kotler <rkotler at mips.com> wrote:

> On 05/06/2013 08:51 AM, Rafael EspĂ­ndola wrote:
>
>> It's working fine just that it's ugly to see those APP/NOAPP markers.
>>>
>> Inline assembly is inline assembly. It has the semantics defined in
>> the IL documentation and should all be treated uniformly.
>>
>> I guess I would be OK with unconditionally removing those comments (I
>> don't see a lot of value in them) or having different verbosity levels
>> for the asm output.
>>
>> What we should never have is a "if (this asm was created by llvm itself)".
>>
> I would like to see a method in asm printer which turns on/off these
> comments.
> It's trivial to add and use but I can't put back to this code without
> permission so there is no point to write the patch if nobody will approve
> it.
>
> Then I could call that method when I'm processing  compiler generated
> stubs that have inline
> assembly.
>
> Traditionally these comments are used in gcc so that when you look at
> assembly code, you can tell which was generated by the compiler and which
> was inline assembly the user created.
>

This does not appear to be the case. As far as I can discern from the
available documentation, #APP and #NOAPP are pragmas which inform the
assembler's preprocessor whether it's in "application mode" (where it needs
more expensive tokenization rules, including comment-stripping and the
like) or whether it's in "processing compiler output mode" (where it can
skip all that stuff).

That these pragmas *also* mark where the user's inline asm ended up seems
to just be a happy coincidence.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130515/cd705d2c/attachment.html>


More information about the llvm-dev mailing list