[llvm-dev] MCAsmParser end-of-function API

Fangrui Song via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 12 10:34:42 PDT 2021


On 2021-07-12, David Greene via llvm-dev wrote:
>AsmPrinter has an API emitFunctionBodyEnd that allows the target to emit
>whatever it needs at the end of a function.  I cannot seem to find a
>similar interface in MCAsmParser/AsmParser.  Did I miss it?  I have the
>need to emit some tail padding at the end of a function, before the
>func_end label.  I don't want to require users to emit the padding
>themselves when they hand-write asm.  I suppose I could override
>doBeforeLabelEmit and look for the func_end label but that sems hacky
>and brittle.  There's no guarantee the user would include such a label.
>
>                            -David

AsmParser::Run has the main workflow.
You may customize the actions with MCTargetAsmParser::onEndOfFile.

But may I ask why you need to emit something in (MC)AsmParser?
AsmPrinter appears to be the more appropriate place.

(Most targets only need to emit alignment at function start,
so they don't need to care about padding at function end.)


More information about the llvm-dev mailing list