[llvm-dev] clang/llvm support for %= in inline assembly

Andrew Kelley via llvm-dev llvm-dev at lists.llvm.org
Sat Feb 4 22:30:28 PST 2017


from https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html

Under certain circumstances, GCC may duplicate (or remove duplicates of)
> your assembly code when optimizing. This can lead to unexpected duplicate
> symbol errors during compilation if your asm code defines symbols or
> labels. Using ‘%=’ (see AssemblerTemplate) may help resolve this problem.


‘%=’
> Outputs a number that is unique to each instance of the asm statement in
> the entire compilation. This option is useful when creating local labels
> and referring to them multiple times in a single template that generates
> multiple assembler instructions.



I tried to implement %= in my front-end but I ran into this problem with
the optimizer. So in order to have this feature, LLVM would need to support
it in the IR language.

As far as I can tell, Clang does not support this feature. Is it a
reasonable feature request?

Regards,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170205/88d1176d/attachment.html>


More information about the llvm-dev mailing list