[PATCH] D106013: [Verifier] Require same signature for intrinsic calls

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 14 15:13:25 PDT 2021


nikic added a comment.

@dexonsmith I don't think upholding invariants during transforms is really the problem here. The problem is that something like this is legal C code:

  extern void one_arg(unsigned);
  int main() {
      if (0) {
          ((void(*)(void)) one_arg)();
      }
      return 0;
  }

With opaque pointers (where there are no pointer bitcasts) this is going to lower to a call that has a different signature from the callee. We can't make that a verifier error.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106013



More information about the llvm-commits mailing list