[all-commits] [llvm/llvm-project] 6cd5e7: [CIR] Record -ffp-contract=fast as a per-op contra...

David Rivera via All-commits all-commits at lists.llvm.org
Fri Sep 25 12:42:49 PDT 2026


  Branch: refs/heads/users/riverdave/ffastmath-flags
  Home:   https://github.com/llvm/llvm-project
  Commit: 6cd5e778ca421ab16e5a363131f20d26a2253971
      https://github.com/llvm/llvm-project/commit/6cd5e778ca421ab16e5a363131f20d26a2253971
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/fp-contract-fast.c
    M clang/test/CIR/CodeGen/fp-math-precision-opts.c
    A clang/test/CIR/CodeGenCUDA/fp-contract.cu
    A clang/test/CIR/Lowering/fastmath-contract.cir
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR] Record -ffp-contract=fast as a per-op contract flag

Classic CodeGen stamps contract on floating-point instructions so a later
Standard-fusion backend can still form an FMA. CIR only fused within a
statement via cir.fmuladd, which dropped FFMA on the CUDA device default.

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: e72a7a8cb885fb2007cdd734e35af96364052198
      https://github.com/llvm/llvm-project/commit/e72a7a8cb885fb2007cdd734e35af96364052198
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR] clang-format the fp-contract changes

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 6c75084761cf6561685f28cc29f4bc241b7cd966
      https://github.com/llvm/llvm-project/commit/6c75084761cf6561685f28cc29f4bc241b7cd966
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M clang/test/CIR/Lowering/fastmath-contract.cir

  Log Message:
  -----------
  [CIR] Update the fastmath contract lowering test

cir-to-llvm now requires a module triple, and the LLVM dialect prints
fastmath flags as fastmath<contract> rather than an attribute dictionary.

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 34fe18494a509601e3d5aa8b2d7e6bd2cef2b569
      https://github.com/llvm/llvm-project/commit/34fe18494a509601e3d5aa8b2d7e6bd2cef2b569
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR] Reuse the existing fast-math flags attribute

#224899 already defined cir::FastMathFlags. Drop the duplicate enum and
let FP operation builders read the active fenv and fast-math flags from
the CIR builder.

Co-authored-by: Cursor <cursoragent at cursor.com>


Compare: https://github.com/llvm/llvm-project/compare/138694b6d46c...34fe18494a50

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