[all-commits] [llvm/llvm-project] 2da4b6: [IR] Allow fast math flags on calls with floating ...

jayfoad via All-commits all-commits at lists.llvm.org
Wed Oct 30 07:00:42 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2da4b6e51450e8a6a40755cc5a40ebb6289766a5
      https://github.com/llvm/llvm-project/commit/2da4b6e51450e8a6a40755cc5a40ebb6289766a5
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2019-10-30 (Wed, 30 Oct 2019)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/test/Bitcode/compatibility.ll
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  [IR] Allow fast math flags on calls with floating point array type.

Summary:
This extends the rules for when a call instruction is deemed to be an
FPMathOperator, which is based on the type of the call (i.e. the return
type of the function being called). Previously we only allowed
floating-point and vector-of-floating-point types. Now we also allow
arrays (nested to any depth) of floating-point and
vector-of-floating-point types.

This was motivated by llpc, the pipeline compiler for AMD GPUs
(https://github.com/GPUOpen-Drivers/llpc). llpc has many math library
functions that operate on vectors, typically represented as <4 x float>,
and some that operate on matrices, typically represented as
[4 x <4 x float>], and it's useful to be able to decorate calls to all
of them with fast math flags.

Reviewers: spatel, wristow, arsenm, hfinkel, aemerson, efriedma, cameron.mcinally, mcberg2017, jmolloy

Subscribers: wdng, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list