[PATCH] D128907: [Clang] Disable noundef attribute for languages which allow uninitialized function arguments
krishna chaitanya sankisa via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 30 05:50:45 PDT 2022
skc7 created this revision.
skc7 added reviewers: arsenm, sameerds, cdevadas, ronlieb, yaxunl, b-sumner, bcahoon.
Herald added subscribers: kosarev, mattd, asavonic, ThomasRaoux, jdoerfert, kerbowa, kbarton, jvesely, nemanjai.
Herald added a project: All.
skc7 requested review of this revision.
Herald added subscribers: llvm-commits, cfe-commits, sstefan1, wdng.
Herald added a reviewer: jdoerfert.
Herald added projects: clang, LLVM.
Languages like CUDA, HIP etc. have APIs which accept uninitialized function arguments.
With D105169 <https://reviews.llvm.org/D105169>, noundef-analysis has been enabled by default and
we are forced to assume very strict constraints for the mentioned languages.
So, the proposed change is to skip adding noundef attribute to function
arguments and return values for such languages.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D128907
Files:
clang/include/clang/Basic/LangOptions.h
clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
clang/test/CodeGenCUDA/address-spaces.cu
clang/test/CodeGenCUDA/builtins-amdgcn.cu
clang/test/CodeGenCUDA/cuda-builtin-vars.cu
clang/test/CodeGenCUDA/kernel-args-alignment.cu
clang/test/CodeGenCUDA/kernel-args.cu
clang/test/CodeGenCUDA/lambda.cu
clang/test/CodeGenCUDA/redux-builtins.cu
clang/test/CodeGenCUDA/surface.cu
clang/test/CodeGenCUDA/unnamed-types.cu
clang/test/CodeGenCUDA/usual-deallocators.cu
clang/test/CodeGenCUDA/vtbl.cu
clang/test/CodeGenCUDASPIRV/kernel-argument.cu
clang/test/CodeGenHIP/hipspv-addr-spaces.cpp
clang/test/CodeGenHIP/noundef-attribute-hip-device-verify.hip
clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
clang/test/CodeGenOpenCL/address-spaces.cl
clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
clang/test/CodeGenOpenCL/amdgpu-printf.cl
clang/test/CodeGenOpenCL/as_type.cl
clang/test/CodeGenOpenCL/atomic-ops-libcall.cl
clang/test/CodeGenOpenCL/blocks.cl
clang/test/CodeGenOpenCL/byval.cl
clang/test/CodeGenOpenCL/const-str-array-decay.cl
clang/test/CodeGenOpenCL/constant-addr-space-globals.cl
clang/test/CodeGenOpenCL/convergent.cl
clang/test/CodeGenOpenCL/fpmath.cl
clang/test/CodeGenOpenCL/half.cl
clang/test/CodeGenOpenCL/kernel-param-alignment.cl
clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
clang/test/CodeGenOpenCL/no-half.cl
clang/test/CodeGenOpenCL/overload.cl
clang/test/CodeGenOpenCL/size_t.cl
clang/test/CodeGenOpenCL/spir-calling-conv.cl
clang/test/CodeGenOpenCLCXX/address-space-deduction.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-derived-base.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-references.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
clang/test/CodeGenOpenCLCXX/template-address-spaces.clcpp
clang/test/CodeGenSYCL/address-space-conversions.cpp
clang/test/CodeGenSYCL/address-space-mangling.cpp
clang/test/CodeGenSYCL/functionptr-addrspace.cpp
clang/test/CodeGenSYCL/unique_stable_name.cpp
clang/test/OpenMP/amdgcn-attributes.cpp
clang/test/OpenMP/amdgcn_target_global_constructor.cpp
clang/test/OpenMP/assumes_include_nvptx.cpp
clang/test/OpenMP/declare_target_codegen.cpp
clang/test/OpenMP/declare_target_codegen_globalization.cpp
clang/test/OpenMP/declare_target_link_codegen.cpp
clang/test/OpenMP/declare_variant_mixed_codegen.c
clang/test/OpenMP/distribute_codegen.cpp
clang/test/OpenMP/distribute_simd_codegen.cpp
clang/test/OpenMP/nvptx_allocate_codegen.cpp
clang/test/OpenMP/nvptx_data_sharing.cpp
clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
clang/test/OpenMP/nvptx_lambda_capturing.cpp
clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
clang/test/OpenMP/nvptx_parallel_codegen.cpp
clang/test/OpenMP/nvptx_parallel_for_codegen.cpp
clang/test/OpenMP/nvptx_target_firstprivate_codegen.cpp
clang/test/OpenMP/nvptx_target_parallel_codegen.cpp
clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
clang/test/OpenMP/nvptx_target_printf_codegen.c
clang/test/OpenMP/nvptx_target_teams_codegen.cpp
clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
clang/test/OpenMP/nvptx_teams_codegen.cpp
clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
clang/test/OpenMP/nvptx_unsupported_type_codegen.cpp
clang/test/OpenMP/openmp_offload_codegen.cpp
clang/test/OpenMP/reduction_implicit_map.cpp
clang/test/OpenMP/target_firstprivate_codegen.cpp
clang/test/OpenMP/target_parallel_codegen.cpp
clang/test/OpenMP/target_parallel_debug_codegen.cpp
clang/test/OpenMP/target_parallel_for_codegen.cpp
clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
clang/test/OpenMP/target_parallel_if_codegen.cpp
clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
clang/test/OpenMP/target_private_codegen.cpp
clang/test/OpenMP/target_reduction_codegen.cpp
clang/test/OpenMP/target_teams_codegen.cpp
clang/test/OpenMP/target_teams_distribute_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
clang/test/OpenMP/target_teams_map_codegen.cpp
clang/test/OpenMP/target_teams_num_teams_codegen.cpp
clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
clang/test/OpenMP/teams_codegen.cpp
llvm/test/Transforms/SimplifyCFG/tautological-conditional-branch-convergent-noundef.ll
More information about the cfe-commits
mailing list