[PATCH] D20406: X86: Don't reset the stack after calls that don't return (PR27117)

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 12:55:31 PST 2020


rnk added a comment.
Herald added a project: LLVM.

It looks like we still have this problem, despite many attempts to fix it. rG5b79e603d3b7a29940df6580d6f62b0e9bd339c0 <https://reviews.llvm.org/rG5b79e603d3b7a29940df6580d6f62b0e9bd339c0> / D66905 <https://reviews.llvm.org/D66905>, for example.

If you enable exceptions, my checks aren't enough. This C++ code for example:

  struct MakeCleanup {
    ~MakeCleanup();
  };
  bool cond();
  void foo() {
    MakeCleanup o;
    if (cond())
      throw;
    if (cond())
      throw;
  }

I think we should look into removing this x86isellowering code.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D20406





More information about the llvm-commits mailing list