Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "GPUCompiler"
uuid = "61eb1bfa-7361-4325-ad38-22787b887f55"
version = "2.2.1"
version = "2.2.2"
authors = ["Tim Besard <tim.besard@gmail.com>"]

[workspace]
Expand Down
9 changes: 7 additions & 2 deletions src/gcn.jl
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,13 @@ end

## job

isintrinsic(@nospecialize(job::CompilerJob{GCNCompilerTarget}), fn::String) =
return startswith(fn, "llvm.amdgcn.")
function isintrinsic(@nospecialize(job::CompilerJob{GCNCompilerTarget}), fn::String)
startswith(fn, "llvm.amdgcn.") && return true
# The ROCm device libraries use `llvm.frexp` and `llvm.ldexp`, which were only added in
# LLVM 17, so they are not recognized as intrinsics by older versions of LLVM.
# Final code generation knows how to lower them, so accept them here.
return startswith(fn, "llvm.frexp.") || startswith(fn, "llvm.ldexp.")
end

pass_by_ref(@nospecialize(job::CompilerJob{GCNCompilerTarget})) = true

Expand Down