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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits