[all-commits] [llvm/llvm-project] 931e95: [llvm][clang][fpenv] Create new intrinsic llvm.ari...

Melanie Blower via All-commits all-commits at lists.llvm.org
Mon Jun 28 09:27:16 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 931e95687d6df71aa8a33376fd2d566c8153be24
      https://github.com/llvm/llvm-project/commit/931e95687d6df71aa8a33376fd2d566c8153be24
  Author: Melanie Blower <melanie.blower at intel.com>
  Date:   2021-06-28 (Mon, 28 Jun 2021)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    A llvm/test/CodeGen/X86/arithmetic_fence.ll
    A llvm/test/CodeGen/X86/arithmetic_fence2.ll

  Log Message:
  -----------
  [llvm][clang][fpenv] Create new intrinsic llvm.arith.fence to control FP optimization at expression level

This intrinsic blocks floating point transformations by the optimizer.

Author: Pengfei

Reviewed By: LuoYuanke, Andy Kaylor, Craig Topper, kpn

Differential Revision: https://reviews.llvm.org/D99675


  Commit: 2c02b0c3f45414ac6c64583e006a26113c028304
      https://github.com/llvm/llvm-project/commit/2c02b0c3f45414ac6c64583e006a26113c028304
  Author: Melanie Blower <melanie.blower at intel.com>
  Date:   2021-06-28 (Mon, 28 Jun 2021)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/tools/clang-import-test/clang-import-test.cpp

  Log Message:
  -----------
  [clang][PATCH][nfc] Refactor TargetInfo::adjust to pass DiagnosticsEngine to allow diagnostics on target-unsupported options

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D104729


  Commit: 4f1238e44d803b145997fa984677a6c5cdf1f417
      https://github.com/llvm/llvm-project/commit/4f1238e44d803b145997fa984677a6c5cdf1f417
  Author: Melanie Blower <melanie.blower at intel.com>
  Date:   2021-06-28 (Mon, 28 Jun 2021)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/arithmetic-fence-builtin.c
    A clang/test/CodeGen/arithmetic-fence-builtin.c
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Sema/arithmetic-fence-builtin.c

  Log Message:
  -----------
  [clang][patch][fpenv] Add builtin __arithmetic_fence and option fprotect-parens

This patch adds a new clang builtin, __arithmetic_fence. The purpose of the
builtin is to provide the user fine control, at the expression level, over
floating point optimization when -ffast-math (-ffp-model=fast) is enabled.
The builtin prevents the optimizer from rearranging floating point expression
evaluation. The new option fprotect-parens has the same effect on
parenthesized expressions, forcing the optimizer to respect the parentheses.

Reviewed By: aaron.ballman, kpn

Differential Revision: https://reviews.llvm.org/D100118


Compare: https://github.com/llvm/llvm-project/compare/f32f3db9fcbf...4f1238e44d80


More information about the All-commits mailing list