clang: Emit nofpclass(nan inf) for -ffinite-math-only
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 27 Feb 2023 23:56:00 +0000 (19:56 -0400)
committerMatt Arsenault <arsenm2@gmail.com>
Wed, 15 Mar 2023 05:13:08 +0000 (01:13 -0400)
commitdd8181055494d8f973dfaaba282bb1ae6eab4d40
treea175bf25c3af11bca3209c76f9e008f88e595bd1
parente6e7a6dd365d62e9baa04cc25e0dbaac6c5a0700
clang: Emit nofpclass(nan inf) for -ffinite-math-only

Set this on any source level floating-point type argument,
return value, call return or outgoing parameter which is lowered
to a valid IR type for the attribute. Currently this isn't
applied to emitted intrinsics since those don't go through
ABI code.
clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/complex-math.c
clang/test/CodeGen/fp-function-attrs.cpp
clang/test/CodeGen/fp-options-to-fast-math-flags.c
clang/test/CodeGen/func-attr.c
clang/test/CodeGen/matrix-type-operators-fast-math.c
clang/test/CodeGen/nofpclass.c
llvm/include/llvm/IR/Attributes.h
llvm/lib/IR/Attributes.cpp
llvm/test/Linker/Inputs/nofpclass.ll [new file with mode: 0644]
llvm/test/Linker/nofpclass.ll [new file with mode: 0644]