[all-commits] [llvm/llvm-project] 3e7ca5: [SDAG] Read-only intrinsics must have WillReturn a...

Kevin McAfee via All-commits all-commits at lists.llvm.org
Fri Aug 16 11:49:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3e7ca5f1efabb488663caec371e408d74c634d84
      https://github.com/llvm/llvm-project/commit/3e7ca5f1efabb488663caec371e408d74c634d84
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

  Log Message:
  -----------
  [SDAG] Read-only intrinsics must have WillReturn and !Throws attributes to be treated as loads (#99999)

This change avoids deleting `!willReturn` intrinsics for which the
return value is unused when building the SDAG. Currently, calls to
read-only intrinsics not marked with `IntrWillReturn` cannot be deleted
at the LLVM IR level but may be deleted when building the SDAG. 
These calls are unsafe to remove from the IR because the functions are
`!willReturn` and should also be unsafe to remove fromthe SDAG for
the same reason. This change aligns the behavior of the SDAG to that
of LLVM IR. This change also requires that intrinsics not have the
`Throws` attribute to be treated as loads for the same reason.



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