[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