[PATCH] D104944: [IR] remove assert since always_inline can appear on CallBase

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 25 15:06:37 PDT 2021


nickdesaulniers planned changes to this revision.
nickdesaulniers added a comment.

I've added optimization remark tests locally; inlining is failing due to:

  remark: <unknown>:0:0: ssp not inlined into nossp because it should never be inlined (cost=never): stack protected callee but caller requested no stack protector
  remark: <unknown>:0:0: ssp not inlined into nossp_alwaysinline because it should never be inlined (cost=never): stack protected callee but caller requested no stack protector
  remark: <unknown>:0:0: ssp has uninlinable pattern (dynamic alloca) and cost is not fully computed
  remark: <unknown>:0:0: ssp not inlined into nossp_caller because it should never be inlined (cost=never): dynamic alloca
  remark: <unknown>:0:0: nossp has uninlinable pattern (dynamic alloca) and cost is not fully computed
  remark: <unknown>:0:0: nossp not inlined into ssp2 because it should never be inlined (cost=never): dynamic alloca

the dynamic allocas mean this test, as introduced in D91816 <https://reviews.llvm.org/D91816>, might not be testing the right thing.  We were getting the right results, but for the wrong reasons.  Let me attempt to fix that first, then revisit this.  It's confusing to me at the moment because the dynamic allocas are the whole point of having stack protectors, and we can and do inline such code, so it's not initially clear to my why inlining would fail due to that, at least with the tests as written.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104944/new/

https://reviews.llvm.org/D104944



More information about the llvm-commits mailing list