[PATCH] D137230: [XCOFF] avoid unnecessary Fixups when -function-sections is enabled.
Digger Lin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 4 10:55:48 PDT 2022
DiggerLin added inline comments.
================
Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:2223
&(MF->getFunction()), TM);
+ // If the FuncSectSym is the csect itself, the difference between FuncEnd
+ // and FuncSectSym is an absolute value. To avoid evaluating an MCExpr for
----------------
hubert.reinterpretcast wrote:
> Can we address this where the MCExpr is handled instead? There may be more ways a similar expression involving a csect as an operand is involved in the future (e.g., assembly parsing).
I do not think we should set setFragment of FuncSectSym in the function emitTracebackTable.
Reason as :
1. because of both Asm path and "integrated-as" enter into the function emitTracebackTable. Asm path do not have Fragment concept.
2. the emitTracebackTable only do emit trace back table related thing. we should not put other functionality here.
I think we may need to set the
The fragment value to CurrentFnSym of AsmPrinter in somewhere when "integrated-as"
otherwise the CurrentFnSym.isUndefined() is true.
it will cause the function MCExpr::evaluateAsRelocatableImpl() return "false" when evaluation the fixup of CurrentFnSym-FuncEnd
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137230/new/
https://reviews.llvm.org/D137230
More information about the llvm-commits
mailing list