[all-commits] [llvm/llvm-project] 3681a7: [flang] Use libm functions for complex operations ...

David Truby via All-commits all-commits at lists.llvm.org
Wed Jul 19 06:34:56 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3681a7dd7818aa93956fe42d37e97da6882f23ae
      https://github.com/llvm/llvm-project/commit/3681a7dd7818aa93956fe42d37e97da6882f23ae
  Author: David Truby <david at truby.dev>
  Date:   2023-07-19 (Wed, 19 Jul 2023)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/Intrinsics/abs.f90
    M flang/test/Lower/Intrinsics/exp.f90
    M flang/test/Lower/Intrinsics/log.f90
    M flang/test/Lower/math-lowering.f90
    M flang/test/Lower/power-operator.f90
    M flang/test/Lower/sqrt.f90
    M flang/test/Lower/trigonometric-intrinsics.f90

  Log Message:
  -----------
  [flang] Use libm functions for complex operations by default

This patch changes the default lowering for complex operations to use
the more accurate libm operations as opposed to the mlir complex
operations. This is necessary due to precision issues in the mlir
complex dialect that cause failures in e.g. the LAPACK tests.

The mlir complex dialect lowering will still be used when
`-fapprox-func` is set (and by extension `-ffast-math` and `-Ofast`)

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




More information about the All-commits mailing list