aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorJakub Kuderski <jakub@nod-labs.com>2023-11-24 15:24:45 -0500
committerGitHub <noreply@github.com>2023-11-24 15:24:45 -0500
commitd625ea12c71813db0da4c2e5867e907da22e22f2 (patch)
tree7989c1aa5a3479d38bd3e8bb02e869c9fddf6234 /llvm/lib/Transforms/Utils/InlineFunction.cpp
parentddc6ef46418cc419041d0bd85de40d0eb9396848 (diff)
downloadllvm-d625ea12c71813db0da4c2e5867e907da22e22f2.zip
llvm-d625ea12c71813db0da4c2e5867e907da22e22f2.tar.gz
llvm-d625ea12c71813db0da4c2e5867e907da22e22f2.tar.bz2
[mlir][spirv] Split codegen for float min/max reductions and others v2. [NFC] (#73363)
This is https://github.com/llvm/llvm-project/pull/69023 but with cleanups. Reduced complexity by avoiding CRTP and preprocessor defines in favor of free functions Original description by @unterumarmung: --- This patch is part of a larger initiative aimed at fixing floating-point `max` and `min` operations in MLIR: https://discourse.llvm.org/t/rfc-fix-floating-point-max-and-min-operations-in-mlir/72671. There are two types of min/max operations for floating-point numbers: `minf`/`maxf` and `minimumf`/`maximumf`. The code generation for these operations should differ from that of other vector reduction kinds. This difference arises because CL and GL operations for floating-point min and max do not have the same semantics when handling NaNs. Therefore, we must enforce the desired semantics with additional ops. ~~However, since the code generation for floating-point min/max operations shares the same functionality as extracting values for the vector, we have decided to refactor the existing code using the CRTP pattern.~~ This change does not alter the actual behavior of the code and is necessary for future fixes to the codegen for floating-point min/max operations. --------- Co-authored-by: Daniil Dudkin <unterumarmung@yandex.ru>
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions