[llvm] [IR] Define empty and malformed !callees semantics (PR #221550)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 6 04:25:08 PDT 2026


arsenm wrote:

> An empty node is an exhaustive empty list. Executing the call is undefined.

It would also probably be fine to make the empty case fail the verifier

> Metadata attached to a non-indirect call provides no target information.

The semantics can't depend on if the call target happens to be a constant or not. If a direct call has a call target not in the list, it's UB. If it is in the metadata, you're free to drop it


https://github.com/llvm/llvm-project/pull/221550


More information about the llvm-commits mailing list