llvm-project/clang/test/Headers
Nicolai Hähnle 1ddc51d89d Inliner: don't mark call sites as 'nounwind' if that would be redundant
When F calls G calls H, G is nounwind, and G is inlined into F, then the
inlined call-site to H should be effectively nounwind so as not to lose
information during inlining.

If H itself is nounwind (which often happens when H is an intrinsic), we
no longer mark the callsite explicitly as nounwind. Previously, there
were cases where the inlined call-site of H differs from a pre-existing
call-site of H in F *only* in the explicitly added nounwind attribute,
thus preventing common subexpression elimination.

v2:
- just check CI->doesNotThrow

v3 (resubmit after revert at 3443788087):
- update Clang tests

Differential Revision: https://reviews.llvm.org/D129860
2022-07-20 14:17:23 +02:00
..
Inputs [Clang] Add attributes alloc_size and alloc_align to mm_malloc 2022-02-17 19:59:18 +01:00
altivec-header.c
altivec-intrin.c Use functions with prototypes when appropriate; NFC 2022-02-09 17:16:10 -05:00
amdgcn-openmp-device-math-complex.c [OpenMP][AMDGCN] Enable complex functions 2021-08-24 12:40:41 +05:30
amdgcn-openmp-device-math-complex.cpp [AMDGPU][OpenMP] Use complex definitions from complex_cmath.h 2021-09-09 10:55:17 +05:30
amdgcn_openmp_device_math.c [OpenMP][AMDGCN] Initial math headers support 2021-08-02 14:38:52 +00:00
arm-acle-header.c Use functions with prototypes when appropriate; NFC 2022-02-09 17:16:10 -05:00
arm-cde-header.c [ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC 2021-11-13 19:09:01 +00:00
arm-cmse-header-ns.c [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
arm-cmse-header.c
arm-fp16-header.c [ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC 2021-11-13 19:09:01 +00:00
arm-neon-header.c [ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC 2021-11-13 19:09:01 +00:00
arm64-apple-ios-types.cpp
builtins-header.c [Clang] Add an empty builtins.h file. 2021-07-16 12:50:04 -05:00
c11.c Use functions with prototypes when appropriate; NFC 2022-02-09 17:16:10 -05:00
c89.c
cpuid.c
cuda_with_openmp.cu [NFC][OpenMP][CUDA] Add test for using `-x cuda -fopenmp` 2021-07-02 19:03:15 +02:00
cxx11.cpp
float-aix.c [AIX][clang] include_next through clang provided float.h 2022-01-28 13:27:10 -05:00
float-darwin.c
float.c
float16.c
hexagon-audio-headers.c [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
hexagon-headers.c [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
hexagon-hvx-headers.c [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
hip-header.hip [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
htm-header.c
int64-type.c
limits.cpp Revert fad7e491a0 with fixes applied 2022-01-29 08:12:16 -05:00
lit.local.cfg [OpenCL] Add builtin header test 2021-06-10 10:05:53 +01:00
mm3dnow.c
mm_malloc.c [Clang] Add attributes alloc_size and alloc_align to mm_malloc 2022-02-17 19:59:18 +01:00
ms-arm64-intrin.cpp [CodeGen] Inline _byteswap_* builtins. 2022-03-16 16:18:51 -07:00
ms-intrin.cpp
ms-no-wchar.cpp [Headers][MSVC] Define wchar_t in stddef.h like MSVC if not using the builtin type 2022-05-12 09:38:07 -07:00
ms-null-ms-header-vs-stddef.cpp
ms-wchar.c
nvptx_device_cmath_functions.c
nvptx_device_cmath_functions.cpp
nvptx_device_cmath_functions_cxx17.cpp
nvptx_device_math_complex.c [OpenMP] Overhaul `declare target` handling 2021-05-06 02:10:41 -05:00
nvptx_device_math_complex.cpp
nvptx_device_math_functions.c
nvptx_device_math_functions.cpp
nvptx_device_math_functions_cxx17.cpp
nvptx_device_math_macro.cpp
nvptx_device_math_modf.cpp
nvptx_device_math_sin.c
nvptx_device_math_sin.cpp
nvptx_device_math_sin_cos.cpp
nvptx_device_math_sincos.cpp
opencl-builtins.cl [OpenCL] Add builtin header test 2021-06-10 10:05:53 +01:00
opencl-c-header.cl [OpenCL] Reword unknown extension pragma diagnostic 2022-06-15 10:54:46 +01:00
openmp_device_math_isnan.cpp [OpenMP][AMDGCN] Initial math headers support 2021-08-02 14:38:52 +00:00
pconfigintin.c
pmmintrin.c
ppc-intrinsics.c
riscv-vector-header.c [RISCV] Remove experimental prefix from rvv-related extensions. 2022-01-22 20:18:40 -08:00
sgxintrin.c
stdarg-gnuc_va_list.c
stdarg.cpp [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
stdatomic-deprecations.c Undeprecate ATOMIC_FLAG_INIT in C++ 2022-07-12 06:48:31 -04:00
stdatomic.c
stdbool.c Roll back use of #warning for header deprecations 2022-05-26 14:51:39 -04:00
stdbool.cpp
stddefneeds.cpp
stdint-typeof-MINMAX.cpp
stdint.c Support the *_WIDTH macros in limits.h and stdint.h 2022-01-13 11:46:34 -05:00
target_include_new.cpp [OpenMP] Make sure classes work on the device as they do on the host 2021-05-06 02:10:30 -05:00
texture_intrinsics.cu [CUDA] Implement experimental support for texture lookups. 2021-10-06 15:15:53 -07:00
tgmath-darwin.c
tgmath.c
thumbv7-apple-ios-types.cpp
typedef_guards.c Use functions with prototypes when appropriate; NFC 2022-02-09 17:16:10 -05:00
unwind.c
wasm.c Inliner: don't mark call sites as 'nounwind' if that would be redundant 2022-07-20 14:17:23 +02:00
wasm.cpp
wchar_limits.cpp
wmmintrin.c
x86-header-warnings.c Use functions with prototypes when appropriate; NFC 2022-02-09 17:16:10 -05:00
x86-intrinsics-headers-clean.cpp Comment parsing: Allow inline commands to have 0 or more than 1 argument 2022-05-13 13:48:46 +02:00
x86-intrinsics-headers.c
x86_64-apple-macosx-types.cpp
x86intrin-2.c
x86intrin.c
x86intrin.cpp
xmmintrin-unsupported.c Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
xmmintrin.c