[PATCH] D91816: [Inline] prevent inlining on stack protector mismatch
Nick Desaulniers via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 24 16:44:16 PST 2020
nickdesaulniers added a comment.
In D91816#2415127 <https://reviews.llvm.org/D91816#2415127>, @rnk wrote:
> I'm not super familiar with the SSP stuff, so let me try to restate how this is supposed to work to see if I understand it.
> - SSP attributes can be ordered by strength. Weakest to strongest, they are: `ssp`, `sspstrong`, `sspreq`.
> - After this change, a callee that lacks any SSP attribute can no longer be inlined into a caller that has any SSP attribute.
> - The `alwaysinline` attribute overrides this rule, though.
> - Callees with differing SSP attributes may be inlined into each other, and the strongest attribute will be applied to the caller. (No change)
> Is that more or less right?
Yes, that's precise. I can include that in the commit message if you wouldn't mind and if it helps makes think closer?
Comment at: llvm/test/ThinLTO/X86/nossp.ll:2
+; RUN: opt -module-summary %s -o %t1.bc
+; RUN: opt -module-summary %p/Inputs/nossp.ll -o %t2.bc
+; RUN: llvm-lto2 run %t1.bc %t2.bc -o %t3.bc -save-temps \
> I have recently discovered the new `split-file` utility, and I like it more than adding files to the Inputs directory. Think it's worth giving it a try here? Up to you. It was added mainly for linker test cases, where you want to test linking multiple inputs together.
@MaskRay suggested that in a previous version of this patch as well. I will look into it. Is the idea that I would concat `llvm/test/ThinLTO/X86/Inputs/nossp.ll` to this, then use `split-file` to split it off?
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the llvm-commits