[PATCH] D103275: Update musttail verification to check all swiftasync->swiftasync tail calls.

Arnold Schwaighofer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 27 13:04:32 PDT 2021


aschwaighofer accepted this revision.
aschwaighofer added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/lib/IR/Verifier.cpp:3429
+  if (!CI.isMustTailCall()) {
+#ifndef NDEBUG
+    if (EnableSwiftTailCCMustTailCheck &&
----------------
dexonsmith wrote:
> Hmm... I'm not sure it's right for the verifier to behave differently depending on `NDEBUG` -- note that these `Assert` calls are not the same as the `assert` macro from `<cassert>`. If this was intentional, can you explain why?
We want these errors in assert builds -- so we can fix instances where we are missing `musttail` instructions -- but we don't want them in release builds because they are not necessarily fatal.

An alternative, is to just enable `EnableSwiftTailCCMustTailCheck` (which is disabled per default) in the frontend if we compile with asserts.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103275



More information about the llvm-commits mailing list