[PATCH] D69798: Implement inlining of strictfp functions

Serge Pavlov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 4 02:59:07 PST 2019


sepavloff created this revision.
sepavloff added reviewers: echristo, spatel, andrew.w.kaylor.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

According to the current design, if a floating point operation is
represented by 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. Such behavior is implemented by this change.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69798

Files:
  llvm/include/llvm/IR/Instruction.h
  llvm/lib/IR/Instruction.cpp
  llvm/lib/Transforms/Utils/CloneFunction.cpp
  llvm/lib/Transforms/Utils/InlineFunction.cpp
  llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
  llvm/test/Transforms/Inline/inline_strictfp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69798.227675.patch
Type: text/x-patch
Size: 11062 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191104/8392c68f/attachment.bin>


More information about the llvm-commits mailing list