[all-commits] [llvm/llvm-project] 47b3b7: Implement inlining of strictfp functions

Serge Pavlov via All-commits all-commits at lists.llvm.org
Thu Mar 31 05:16:48 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47b3b76825dc89d4ee37408f26b458f61f86fbf5
      https://github.com/llvm/llvm-project/commit/47b3b76825dc89d4ee37408f26b458f61f86fbf5
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2022-03-31 (Thu, 31 Mar 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
    A llvm/test/Transforms/Inline/inline-strictfp.ll

  Log Message:
  -----------
  Implement inlining of strictfp functions

According to the current design, if a floating point operation is
represented by a constrained intrinsic somewhere in a function, all
floating point operations in the function must be represented by
constrained intrinsics. It imposes additional requirements to inlining
mechanism. If non-strictfp function is inlined into strictfp function,
all ordinary FP operations must be replaced with their constrained
counterparts.

Inlining strictfp function into non-strictfp is not implemented as it
would require replacement of all FP operations in the host function,
which now is undesirable due to expected performance loss.

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




More information about the All-commits mailing list