[all-commits] [llvm/llvm-project] c3c0b2: [Intrinsics] Add support for range attributes (#13...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Apr 17 02:11:23 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3c0b27f2d34cd106df278afc378c30fe493f513
      https://github.com/llvm/llvm-project/commit/c3c0b27f2d34cd106df278afc378c30fe493f513
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/test/Assembler/aarch64-intrinsics-attributes.ll
    M llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
    M llvm/test/TableGen/intrinsic-attrs.td
    M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [Intrinsics] Add support for range attributes (#135642)

Add support for specifying range attributes in Intrinsics.td. Use this
to specify the ucmp/scmp range [-1,2).

This case is trickier than existing intrinsic attributes, because we
need to create the attribute with the correct bitwidth. As such, the
attribute construction now needs to be aware of the function type.

We also need to be careful to no longer assign attributes on intrinsics
with invalid signatures, as we'd make invalid assumptions about the
number of arguments etc otherwise.

Fixes https://github.com/llvm/llvm-project/issues/130179.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list