[clang] [llvm] Support Zvfbfa codegen and C intrinsics (PR #161158)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 29 02:41:39 PDT 2025


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 clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfclass-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmax-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmerge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmin-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfmv-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt_rod-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt_rtz-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfnmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfnmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfrec7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfrsqrt7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfrsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfsgnj-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfsgnjn-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfsgnjx-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfslide1down-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfslide1up-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmfeq-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmfge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmfgt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmfle-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmflt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmfne-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfclass-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmax-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmerge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmin-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfmv-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt_rod-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt_rtz-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfnmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfnmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfrec7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfrsqrt7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfrsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfsgnj-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfsgnjn-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfsgnjx-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfslide1down-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfslide1up-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmfeq-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmfge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmfgt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmfle-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmflt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmfne-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfclass-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmax-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmerge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmin-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfmv-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt_rod-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt_rtz-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfnmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfnmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfrec7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfrsqrt7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfrsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfsgnj-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfsgnjn-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfsgnjx-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfslide1down-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfslide1up-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmfeq-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmfge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmfgt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmfle-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmflt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmfne-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfclass-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmax-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmerge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmin-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfmv-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvt_rod-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvt_rtz-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfnmadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfnmsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfrec7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfrsqrt7-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfrsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfsgnj-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfsgnjn-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfsgnjx-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfslide1down-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfslide1up-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwadd-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmul-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwnmacc-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwnmsac-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwsub-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmfeq-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmfge-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmfgt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmfle-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmflt-bf16.c clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmfne-bf16.c llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll llvm/test/CodeGen/RISCV/rvv/vfadd-bf.ll llvm/test/CodeGen/RISCV/rvv/vfclass-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmacc-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmadd-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmax-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmerge-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmin-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmsac-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmsub-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmul-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmv-bf-s.ll llvm/test/CodeGen/RISCV/rvv/vfmv-s-bf.ll llvm/test/CodeGen/RISCV/rvv/vfmv-v-bf.ll llvm/test/CodeGen/RISCV/rvv/vfncvt-rod-bf-f.ll llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-bf.ll llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-bf.ll llvm/test/CodeGen/RISCV/rvv/vfncvt-x-bf.ll llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-bf.ll llvm/test/CodeGen/RISCV/rvv/vfnmacc-bf.ll llvm/test/CodeGen/RISCV/rvv/vfnmadd-bf.ll llvm/test/CodeGen/RISCV/rvv/vfnmsac-bf.ll llvm/test/CodeGen/RISCV/rvv/vfnmsub-bf.ll llvm/test/CodeGen/RISCV/rvv/vfrec7-bf.ll llvm/test/CodeGen/RISCV/rvv/vfrsqrt7-bf16.ll llvm/test/CodeGen/RISCV/rvv/vfrsub-bf.ll llvm/test/CodeGen/RISCV/rvv/vfsgnj-bf.ll llvm/test/CodeGen/RISCV/rvv/vfsgnjn-bf.ll llvm/test/CodeGen/RISCV/rvv/vfsgnjx-bf.ll llvm/test/CodeGen/RISCV/rvv/vfslide1down-bf.ll llvm/test/CodeGen/RISCV/rvv/vfslide1up-bf.ll llvm/test/CodeGen/RISCV/rvv/vfsub-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwadd-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwadd-w-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-x.ll llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-xu.ll llvm/test/CodeGen/RISCV/rvv/vfwmsac-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwmul-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwnmacc-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwnmsac-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwsub-bf.ll llvm/test/CodeGen/RISCV/rvv/vfwsub-w-bf.ll llvm/test/CodeGen/RISCV/rvv/vmfeq-bf.ll llvm/test/CodeGen/RISCV/rvv/vmfge-bf.ll llvm/test/CodeGen/RISCV/rvv/vmfgt-bf.ll llvm/test/CodeGen/RISCV/rvv/vmfle-bf.ll llvm/test/CodeGen/RISCV/rvv/vmflt-bf.ll llvm/test/CodeGen/RISCV/rvv/vmfne-bf.ll clang/lib/Sema/SemaRISCV.cpp clang/lib/Support/RISCVVIntrinsicUtils.cpp llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp llvm/lib/Target/RISCV/RISCVSubtarget.h
``````````

</details>


The following files introduce new uses of undef:
 - llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll
 - llvm/test/CodeGen/RISCV/rvv/vfadd-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfclass-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfmax-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfmerge-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfmin-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfmul-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfmv-v-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfncvt-rod-bf-f.ll
 - llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfncvt-x-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfrec7-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfrsqrt7-bf16.ll
 - llvm/test/CodeGen/RISCV/rvv/vfrsub-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfsgnj-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfsgnjn-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfsgnjx-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfslide1down-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfslide1up-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfsub-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwadd-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwadd-w-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-x.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-xu.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwmul-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwsub-bf.ll
 - llvm/test/CodeGen/RISCV/rvv/vfwsub-w-bf.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/161158


More information about the llvm-commits mailing list