In particular, the function definition is not marked strictfp despite
containing a function marked strictfp. Also, if any function call is marked
strictfp then all function calls in that function must be marked.
This change to move the one strictfp call to a new properly marked function
meets all the new rules.
Tested with a stricter version of D68233.
Reviewed by: spatel
Approved by: spatel
Differential Revision: https://reviews.llvm.org/D68713
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374186
91177308-0d34-0410-b5e6-
96231b3b80d8
call void @f.nobuiltin() builtin
; CHECK: call void @f.nobuiltin() #43
- call void @f.strictfp() strictfp
- ; CHECK: call void @f.strictfp() #44
-
call fastcc noalias i32* @f.noalias() noinline
; CHECK: call fastcc noalias i32* @f.noalias() #12
tail call ghccc nonnull i32* @f.nonnull() minsize
ret void
}
+define void @instructions.strictfp() #44 {
+ call void @f.strictfp() strictfp
+ ; CHECK: call void @f.strictfp() #44
+
+ ret void
+}
+
define void @instructions.call_notail() {
notail call void @f1()
; CHECK: notail call void @f1()