[all-commits] [llvm/llvm-project] 3da7fd: Reimplement constrained 'trunc' using operand bundles

Serge Pavlov via All-commits all-commits at lists.llvm.org
Thu Jan 9 08:30:14 PST 2025


  Branch: refs/heads/users/spavloff/trunc-with-bundles
  Home:   https://github.com/llvm/llvm-project
  Commit: 3da7fd198007d6c3698c025bfb96ea5fb0ccca34
      https://github.com/llvm/llvm-project/commit/3da7fd198007d6c3698c025bfb96ea5fb0ccca34
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics-constrained.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    M clang/test/CodeGen/arm64-vrnd-constrained.c
    M clang/test/CodeGen/constrained-math-builtins.c
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/ConstrainedOps.def
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/ExpandVectorPredication.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Assembler/fp-intrinsics-attr.ll
    M llvm/test/Bitcode/auto-upgrade-constrained.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/ARM/fp-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
    M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ftrunc-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ftrunc-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/zfh-half-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/zfhmin-half-intrinsics-strict.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-round.ll
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp80-strict-libcalls.ll
    M llvm/test/CodeGen/X86/vec-strict-256-fp16.ll
    M llvm/test/CodeGen/X86/vec-strict-256.ll
    M llvm/test/CodeGen/X86/vec-strict-512-fp16.ll
    M llvm/test/CodeGen/X86/vec-strict-512.ll
    M llvm/test/CodeGen/X86/vec-strict-round-128.ll
    M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
    M llvm/test/Transforms/InstSimplify/constfold-constrained.ll

  Log Message:
  -----------
  Reimplement constrained 'trunc' using operand bundles

Previously the function 'trunc' in non-default floating-point
environment was implemented with a special LLVM intrinsic
'experimental.constrained.trunc'. Introduction of floating-point operand
bundles allows expressing the interaction with the FP environment using the
same intrinsic as for the default mode.

This changes removes 'llvm.experimental.constrained.trunc' and use
'llvm.trunc' in all cases.


  Commit: 8e64ef3ee8baf97e9ad319486a4be3aacc71c75e
      https://github.com/llvm/llvm-project/commit/8e64ef3ee8baf97e9ad319486a4be3aacc71c75e
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  Fix clang-format errors


Compare: https://github.com/llvm/llvm-project/compare/3da7fd198007%5E...8e64ef3ee8ba

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