[PATCH] D143812: [X86][Win64] Avoid statepoints prior to SEH epilogue

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 13:21:14 PST 2023


efriedma added a subscriber: tentzen.
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.

LGTM

> Hmm, I was aware that this was an issue if the function ended with a non-returning call, like the testcase added in D119644 <https://reviews.llvm.org/D119644>, but I wasn't aware that this was an issue also for a call directly followed by the epilogue in a regular function. I would expect that to happen a lot more often.

If it's actually significant to codesize, we could look into reducing the number of cases where we emit these nops.  As far as I know, we really only need the padding in the case where a function has a corresponding EH pad. (Compare MSVC vs clang for `void f(int*); void g1() { int z; f(&z); f(&z); } void g2() { int z; try { f(&z); f(&z); } catch (...){} }`.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D143812



More information about the llvm-commits mailing list