[PATCH] D91816: [Inline] prevent inlining on stack protector mismatch

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 16:38:35 PST 2020

rnk added a comment.

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?

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.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list