aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ModuleUtils.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2025-01-20 16:27:51 +0000
committerGitHub <noreply@github.com>2025-01-20 16:27:51 +0000
commitc8eb865747ea0006470a0ab130056293fcb536cb (patch)
tree1b2dcdd804ebbc156a62001f12949b520ccadf60 /llvm/lib/Transforms/Utils/ModuleUtils.cpp
parent8368018f2097e330a6b6ec0a9372487df020c511 (diff)
downloadllvm-c8eb865747ea0006470a0ab130056293fcb536cb.zip
llvm-c8eb865747ea0006470a0ab130056293fcb536cb.tar.gz
llvm-c8eb865747ea0006470a0ab130056293fcb536cb.tar.bz2
[libclc] Move mad to the CLC library (#123607)
All targets build `__clc_mad` -- even SPIR-V targets -- since it compiles to the optimal `llvm.fmuladd` intrinsic. There is no change to the bytecode generated for non-SPIR-V targets. The `mix` builtin, which is implemented as a wrapper around `mad`, is left as an OpenCL-layer wrapper of `__clc_mad`. I don't know if it's worth having a specific CLC version of `mix`. The changes to the other CLC files/functions are moving uses of `mad` to `__clc_mad`, and reformatting. There is an additional instance of `trunc` becoming `__clc_trunc`, which was missed before.
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions