github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {undef deprecator}-->
:warning: undef deprecator found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git diff -U0 --pickaxe-regex -S '([^a-zA-Z0-9#_-]undef[^a-zA-Z0-9_-]|UndefValue::get)' 'HEAD~1' HEAD libclc/opencl/include/clc/opencl/clc.h libclc/opencl/include/clc/opencl/as_type.h libclc/opencl/include/clc/opencl/async/async_work_group_copy.h libclc/opencl/include/clc/opencl/async/async_work_group_copy.inc libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.h libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.inc libclc/opencl/include/clc/opencl/async/prefetch.h libclc/opencl/include/clc/opencl/async/prefetch.inc libclc/opencl/include/clc/opencl/async/wait_group_events.h libclc/opencl/include/clc/opencl/atomic/atom_add.h libclc/opencl/include/clc/opencl/atomic/atom_and.h libclc/opencl/include/clc/opencl/atomic/atom_cmpxchg.h libclc/opencl/include/clc/opencl/atomic/atom_dec.h libclc/opencl/include/clc/opencl/atomic/atom_decl_int32.inc libclc/opencl/include/clc/opencl/atomic/atom_decl_int64.inc libclc/opencl/include/clc/opencl/atomic/atom_inc.h libclc/opencl/include/clc/opencl/atomic/atom_max.h libclc/opencl/include/clc/opencl/atomic/atom_min.h libclc/opencl/include/clc/opencl/atomic/atom_or.h libclc/opencl/include/clc/opencl/atomic/atom_sub.h libclc/opencl/include/clc/opencl/atomic/atom_xchg.h libclc/opencl/include/clc/opencl/atomic/atom_xor.h libclc/opencl/include/clc/opencl/atomic/atomic_add.h libclc/opencl/include/clc/opencl/atomic/atomic_and.h libclc/opencl/include/clc/opencl/atomic/atomic_cmpxchg.h libclc/opencl/include/clc/opencl/atomic/atomic_dec.h libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc libclc/opencl/include/clc/opencl/atomic/atomic_inc.h libclc/opencl/include/clc/opencl/atomic/atomic_max.h libclc/opencl/include/clc/opencl/atomic/atomic_min.h libclc/opencl/include/clc/opencl/atomic/atomic_or.h libclc/opencl/include/clc/opencl/atomic/atomic_sub.h libclc/opencl/include/clc/opencl/atomic/atomic_xchg.h libclc/opencl/include/clc/opencl/atomic/atomic_xor.h libclc/opencl/include/clc/opencl/common/degrees.h libclc/opencl/include/clc/opencl/common/mix.h libclc/opencl/include/clc/opencl/common/mix.inc libclc/opencl/include/clc/opencl/common/radians.h libclc/opencl/include/clc/opencl/common/sign.h libclc/opencl/include/clc/opencl/common/smoothstep.h libclc/opencl/include/clc/opencl/common/smoothstep.inc libclc/opencl/include/clc/opencl/common/step.h libclc/opencl/include/clc/opencl/common/step.inc libclc/opencl/include/clc/opencl/convert.h libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h libclc/opencl/include/clc/opencl/geometric/cross.h libclc/opencl/include/clc/opencl/geometric/distance.h libclc/opencl/include/clc/opencl/geometric/dot.h libclc/opencl/include/clc/opencl/geometric/fast_distance.h libclc/opencl/include/clc/opencl/geometric/fast_length.h libclc/opencl/include/clc/opencl/geometric/fast_normalize.h libclc/opencl/include/clc/opencl/geometric/length.h libclc/opencl/include/clc/opencl/geometric/normalize.h libclc/opencl/include/clc/opencl/image/image.h libclc/opencl/include/clc/opencl/image/image_defines.h libclc/opencl/include/clc/opencl/integer/abs.h libclc/opencl/include/clc/opencl/integer/abs.inc libclc/opencl/include/clc/opencl/integer/abs_diff.h libclc/opencl/include/clc/opencl/integer/abs_diff.inc libclc/opencl/include/clc/opencl/integer/add_sat.h libclc/opencl/include/clc/opencl/integer/clz.h libclc/opencl/include/clc/opencl/integer/ctz.h libclc/opencl/include/clc/opencl/integer/hadd.h libclc/opencl/include/clc/opencl/integer/mad24.h libclc/opencl/include/clc/opencl/integer/mad_hi.h libclc/opencl/include/clc/opencl/integer/mad_sat.h libclc/opencl/include/clc/opencl/integer/mul24.h libclc/opencl/include/clc/opencl/integer/mul_hi.h libclc/opencl/include/clc/opencl/integer/popcount.h libclc/opencl/include/clc/opencl/integer/rhadd.h libclc/opencl/include/clc/opencl/integer/rotate.h libclc/opencl/include/clc/opencl/integer/sub_sat.h libclc/opencl/include/clc/opencl/integer/upsample.h libclc/opencl/include/clc/opencl/math/acos.h libclc/opencl/include/clc/opencl/math/acosh.h libclc/opencl/include/clc/opencl/math/acospi.h libclc/opencl/include/clc/opencl/math/asin.h libclc/opencl/include/clc/opencl/math/asinh.h libclc/opencl/include/clc/opencl/math/asinpi.h libclc/opencl/include/clc/opencl/math/atan.h libclc/opencl/include/clc/opencl/math/atan2.h libclc/opencl/include/clc/opencl/math/atan2pi.h libclc/opencl/include/clc/opencl/math/atanh.h libclc/opencl/include/clc/opencl/math/atanpi.h libclc/opencl/include/clc/opencl/math/cbrt.h libclc/opencl/include/clc/opencl/math/ceil.h libclc/opencl/include/clc/opencl/math/copysign.h libclc/opencl/include/clc/opencl/math/cos.h libclc/opencl/include/clc/opencl/math/cosh.h libclc/opencl/include/clc/opencl/math/cospi.h libclc/opencl/include/clc/opencl/math/erf.h libclc/opencl/include/clc/opencl/math/erfc.h libclc/opencl/include/clc/opencl/math/exp.h libclc/opencl/include/clc/opencl/math/exp10.h libclc/opencl/include/clc/opencl/math/exp2.h libclc/opencl/include/clc/opencl/math/expm1.h libclc/opencl/include/clc/opencl/math/fabs.h libclc/opencl/include/clc/opencl/math/fdim.h libclc/opencl/include/clc/opencl/math/floor.h libclc/opencl/include/clc/opencl/math/fma.h libclc/opencl/include/clc/opencl/math/fmax.h libclc/opencl/include/clc/opencl/math/fmin.h libclc/opencl/include/clc/opencl/math/fmod.h libclc/opencl/include/clc/opencl/math/fract.h libclc/opencl/include/clc/opencl/math/frexp.h libclc/opencl/include/clc/opencl/math/frexp.inc libclc/opencl/include/clc/opencl/math/half_cos.h libclc/opencl/include/clc/opencl/math/half_divide.h libclc/opencl/include/clc/opencl/math/half_exp.h libclc/opencl/include/clc/opencl/math/half_exp10.h libclc/opencl/include/clc/opencl/math/half_exp2.h libclc/opencl/include/clc/opencl/math/half_log.h libclc/opencl/include/clc/opencl/math/half_log10.h libclc/opencl/include/clc/opencl/math/half_log2.h libclc/opencl/include/clc/opencl/math/half_powr.h libclc/opencl/include/clc/opencl/math/half_recip.h libclc/opencl/include/clc/opencl/math/half_rsqrt.h libclc/opencl/include/clc/opencl/math/half_sin.h libclc/opencl/include/clc/opencl/math/half_sqrt.h libclc/opencl/include/clc/opencl/math/half_tan.h libclc/opencl/include/clc/opencl/math/hypot.h libclc/opencl/include/clc/opencl/math/ilogb.h libclc/opencl/include/clc/opencl/math/ldexp.h libclc/opencl/include/clc/opencl/math/ldexp.inc libclc/opencl/include/clc/opencl/math/lgamma.h libclc/opencl/include/clc/opencl/math/lgamma_r.h libclc/opencl/include/clc/opencl/math/log.h libclc/opencl/include/clc/opencl/math/log10.h libclc/opencl/include/clc/opencl/math/log1p.h libclc/opencl/include/clc/opencl/math/log2.h libclc/opencl/include/clc/opencl/math/logb.h libclc/opencl/include/clc/opencl/math/mad.h libclc/opencl/include/clc/opencl/math/maxmag.h libclc/opencl/include/clc/opencl/math/minmag.h libclc/opencl/include/clc/opencl/math/modf.h libclc/opencl/include/clc/opencl/math/nan.h libclc/opencl/include/clc/opencl/math/nan.inc libclc/opencl/include/clc/opencl/math/native_cos.h libclc/opencl/include/clc/opencl/math/native_divide.h libclc/opencl/include/clc/opencl/math/native_exp.h libclc/opencl/include/clc/opencl/math/native_exp10.h libclc/opencl/include/clc/opencl/math/native_exp2.h libclc/opencl/include/clc/opencl/math/native_log.h libclc/opencl/include/clc/opencl/math/native_log10.h libclc/opencl/include/clc/opencl/math/native_log2.h libclc/opencl/include/clc/opencl/math/native_powr.h libclc/opencl/include/clc/opencl/math/native_recip.h libclc/opencl/include/clc/opencl/math/native_rsqrt.h libclc/opencl/include/clc/opencl/math/native_sin.h libclc/opencl/include/clc/opencl/math/native_sqrt.h libclc/opencl/include/clc/opencl/math/native_tan.h libclc/opencl/include/clc/opencl/math/nextafter.h libclc/opencl/include/clc/opencl/math/pow.h libclc/opencl/include/clc/opencl/math/pown.h libclc/opencl/include/clc/opencl/math/powr.h libclc/opencl/include/clc/opencl/math/remainder.h libclc/opencl/include/clc/opencl/math/remquo.h libclc/opencl/include/clc/opencl/math/rint.h libclc/opencl/include/clc/opencl/math/rootn.h libclc/opencl/include/clc/opencl/math/round.h libclc/opencl/include/clc/opencl/math/rsqrt.h libclc/opencl/include/clc/opencl/math/sin.h libclc/opencl/include/clc/opencl/math/sincos.h libclc/opencl/include/clc/opencl/math/sinh.h libclc/opencl/include/clc/opencl/math/sinpi.h libclc/opencl/include/clc/opencl/math/sqrt.h libclc/opencl/include/clc/opencl/math/tan.h libclc/opencl/include/clc/opencl/math/tanh.h libclc/opencl/include/clc/opencl/math/tanpi.h libclc/opencl/include/clc/opencl/math/tgamma.h libclc/opencl/include/clc/opencl/math/trunc.h libclc/opencl/include/clc/opencl/misc/shuffle.h libclc/opencl/include/clc/opencl/misc/shuffle2.h libclc/opencl/include/clc/opencl/relational/all.h libclc/opencl/include/clc/opencl/relational/any.h libclc/opencl/include/clc/opencl/relational/bitselect.h libclc/opencl/include/clc/opencl/relational/bitselect.inc libclc/opencl/include/clc/opencl/relational/isequal.h libclc/opencl/include/clc/opencl/relational/isfinite.h libclc/opencl/include/clc/opencl/relational/isgreater.h libclc/opencl/include/clc/opencl/relational/isgreaterequal.h libclc/opencl/include/clc/opencl/relational/isinf.h libclc/opencl/include/clc/opencl/relational/isless.h libclc/opencl/include/clc/opencl/relational/islessequal.h libclc/opencl/include/clc/opencl/relational/islessgreater.h libclc/opencl/include/clc/opencl/relational/isnan.h libclc/opencl/include/clc/opencl/relational/isnormal.h libclc/opencl/include/clc/opencl/relational/isnotequal.h libclc/opencl/include/clc/opencl/relational/isordered.h libclc/opencl/include/clc/opencl/relational/isunordered.h libclc/opencl/include/clc/opencl/relational/select.h libclc/opencl/include/clc/opencl/relational/signbit.h libclc/opencl/include/clc/opencl/shared/clamp.h libclc/opencl/include/clc/opencl/shared/clamp.inc libclc/opencl/include/clc/opencl/shared/max.h libclc/opencl/include/clc/opencl/shared/max.inc libclc/opencl/include/clc/opencl/shared/min.h libclc/opencl/include/clc/opencl/shared/min.inc libclc/opencl/include/clc/opencl/shared/vload.h libclc/opencl/include/clc/opencl/shared/vstore.h libclc/opencl/include/clc/opencl/synchronization/barrier.h libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h libclc/opencl/include/clc/opencl/workitem/get_global_id.h libclc/opencl/include/clc/opencl/workitem/get_global_offset.h libclc/opencl/include/clc/opencl/workitem/get_global_size.h libclc/opencl/include/clc/opencl/workitem/get_group_id.h libclc/opencl/include/clc/opencl/workitem/get_local_id.h libclc/opencl/include/clc/opencl/workitem/get_local_size.h libclc/opencl/include/clc/opencl/workitem/get_num_groups.h libclc/opencl/include/clc/opencl/workitem/get_work_dim.h libclc/opencl/lib/amdgcn/cl_khr_int64_extended_atomics/minmax_helpers.ll libclc/opencl/lib/clspv/shared/vstore_half.inc libclc/opencl/lib/generic/async/async_work_group_copy.inc libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc libclc/opencl/lib/generic/async/prefetch.inc libclc/opencl/lib/generic/atomic/atom_int32_binary.inc libclc/opencl/lib/generic/common/mix.inc libclc/opencl/lib/generic/geometric/fast_normalize.inc libclc/opencl/lib/generic/integer/abs.inc libclc/opencl/lib/generic/integer/abs_diff.inc libclc/opencl/lib/generic/math/fmax.inc libclc/opencl/lib/generic/math/fmin.inc libclc/opencl/lib/generic/math/ldexp.inc libclc/opencl/lib/generic/math/nan.inc libclc/opencl/lib/generic/math/remquo.inc libclc/opencl/lib/generic/relational/binary_def.inc libclc/opencl/lib/generic/relational/bitselect.inc libclc/opencl/lib/generic/relational/unary_def.inc libclc/opencl/lib/generic/shared/clamp.inc libclc/opencl/lib/generic/shared/max.inc libclc/opencl/lib/generic/shared/min.inc libclc/opencl/lib/generic/shared/vload_half.inc libclc/opencl/lib/generic/shared/vstore_half.inc libclc/opencl/lib/generic/subnormal_disable.ll libclc/opencl/lib/generic/subnormal_helper_func.ll libclc/opencl/lib/generic/subnormal_use_default.ll libclc/opencl/lib/r600/image/get_image_attributes_impl.ll libclc/opencl/lib/r600/image/read_image_impl.ll libclc/opencl/lib/r600/image/write_image_impl.ll `````````` </details> The following files introduce new uses of undef: - libclc/opencl/lib/r600/image/read_image_impl.ll - libclc/opencl/lib/r600/image/write_image_impl.ll [Undef](https://llvm.org/docs/LangRef.html#undefined-values) is now deprecated and should only be used in the rare cases where no replacement is possible. For example, a load of uninitialized memory yields `undef`. You should use `poison` values for placeholders instead. In tests, avoid using `undef` and having tests that trigger undefined behavior. If you need an operand with some unimportant value, you can add a new argument to the function and use that instead. For example, this is considered a bad practice: ```llvm define void @fn() { ... br i1 undef, ... } ``` Please use the following instead: ```llvm define void @fn(i1 %cond) { ... br i1 %cond, ... } ``` Please refer to the [Undefined Behavior Manual](https://llvm.org/docs/UndefinedBehavior.html) for more information. https://github.com/llvm/llvm-project/pull/140557 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits