[all-commits] [llvm/llvm-project] 223124: [IR] Reject a scalable byval argument in the verif...

Timur Baidusenov via All-commits all-commits at lists.llvm.org
Fri Sep 25 03:18:59 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 22312472de3ef8b4c5318da0b527510c5d498ae9
      https://github.com/llvm/llvm-project/commit/22312472de3ef8b4c5318da0b527510c5d498ae9
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
    A llvm/test/Verifier/byval-scalable.ll

  Log Message:
  -----------
  [IR] Reject a scalable byval argument in the verifier (#226170)

A byval argument is copied into the caller's frame, and the current
implementation needs the size of that copy at compile time, which a
scalable type does not have. Plain `llc` fails on such IR today, and
SafeStack crashed on it in #182759. Nothing in the tree produces it and
no target needs it yet, so rather than teach SafeStack to step around it
(#225067), disallow it in the LangRef and reject it in the verifier
until the necessary support exists. `isScalableTy()` also covers a
struct with a scalable member.

Fixes #182759.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list