[PATCH] D152226: [FunctionAttrs] Propagate some func/arg/ret attributes from caller to callsite (WIP)

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 5 21:59:31 PDT 2023


goldstein.w.n added a comment.

llvm-test-suite passes with this patch enabled.
But note: **There currently some failing clang tests**.
Most of them look benign (just need to propagate a few attributes to a few thousand places),
but I was hoping there is a way to auto-regenerate them before going through laboriously by hand.
All the ones that can be auto regenerated I updated + a few by hand before thinking better of it.
Currently the list of failing tests in the llvm-project with all projects enabled using `ninja check-all` is:

  Failed Tests (52):
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector.c
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector2.c
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector3-constrained.c
    Clang :: CodeGen/SystemZ/builtins-systemz-zvector3.c
    Clang :: CodeGen/SystemZ/systemz-inline-asm.c
    Clang :: CodeGen/aarch64-neon-vcmla.c
    Clang :: CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    Clang :: CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    Clang :: CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    Clang :: CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    Clang :: CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    Clang :: CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    Clang :: CodeGen/arm-cmse.c
    Clang :: CodeGen/arm64-mte.c
    Clang :: CodeGen/builtins-multiprecision.c
    Clang :: CodeGen/builtins-wasm.c
    Clang :: CodeGen/cfi-icall-cross-dso.c
    Clang :: CodeGen/fp-contract-on-pragma.cpp
    Clang :: CodeGen/fp-contract-pragma.cpp
    Clang :: CodeGen/fp-strictfp-exp.cpp
    Clang :: CodeGen/inline-asm-aarch64-flag-output.c
    Clang :: CodeGen/inline-asm-x86-flag-output.c
    Clang :: CodeGen/ms-intrinsics-other.c
    Clang :: CodeGen/ms-intrinsics.c
    Clang :: CodeGen/neon-crypto.c
    Clang :: CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    Clang :: CodeGenCXX/microsoft-abi-dynamic-cast.cpp
    Clang :: CodeGenCXX/microsoft-abi-typeid.cpp
    Clang :: CodeGenCXX/sizeof-unwind-exception.cpp
    Clang :: CodeGenObjC/synchronized.m
    Clang :: CodeGenObjCXX/exceptions-legacy.mm
    Clang :: CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-fp8.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-gfx10.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-gfx9.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-mfma.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-vi.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
    Clang :: CodeGenOpenCL/builtins-amdgcn.cl
    Clang :: CodeGenOpenCL/builtins-f16.cl
    Clang :: CodeGenOpenCL/builtins-generic-amdgcn.cl
    Clang :: CodeGenOpenCL/single-precision-constant.cl
    Clang :: Headers/__clang_hip_cmath.hip
    Clang :: Headers/__clang_hip_math.hip
    Clang :: Headers/__clang_hip_math_ocml_rounded_ops.hip
    Clang :: Headers/ms-arm64-intrin.cpp
    Clang :: OpenMP/bug57757.cpp

Is there a way to autoregen them, some of them need a few thousand changes (just adding `noundef` for the most part) that hopefully doesn't need to be done by hand.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152226/new/

https://reviews.llvm.org/D152226



More information about the llvm-commits mailing list