aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/MachOObjectFile.cpp
diff options
context:
space:
mode:
authorKevin McAfee <kmcafee@nvidia.com>2024-08-16 11:48:57 -0700
committerGitHub <noreply@github.com>2024-08-16 11:48:57 -0700
commit3e7ca5f1efabb488663caec371e408d74c634d84 (patch)
tree604b83fe9a7c007dfeeed6375190dee6457c8720 /llvm/lib/Object/MachOObjectFile.cpp
parent51ede55ee2acd3383d990c5fc8882d4b021b87b4 (diff)
downloadllvm-3e7ca5f1efabb488663caec371e408d74c634d84.zip
llvm-3e7ca5f1efabb488663caec371e408d74c634d84.tar.gz
llvm-3e7ca5f1efabb488663caec371e408d74c634d84.tar.bz2
[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.
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions