[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 \
rnk wrote:
> 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



More information about the llvm-commits mailing list