; RUN: llvm-link %s %S/Inputs/nofpclass.ll -S -o - | FileCheck -check-prefix=ORDER1 %s ; RUN: llvm-link %S/Inputs/nofpclass.ll %s -S -o - | FileCheck -check-prefix=ORDER2 %s ; Make sure nofpclass is dropped if the function was declared as ; nofpclass, but not defined with nofpclass. ; ORDER1: define float @caller(float %arg) { ; ORDER1-NEXT: %result = call float @declared_as_nonan(float %arg) ; ORDER1-NEXT: ret float %result ; ORDER1: define float @declared_as_nonan(float %arg) { ; ORDER1-NEXT: %add = fadd float %arg, 1.000000e+00 ; ORDER1-NEXT: ret float %add ; ORDER2: define float @declared_as_nonan(float %arg) { ; ORDER2-NEXT: %add = fadd float %arg, 1.000000e+00 ; ORDER2-NEXT: ret float %add ; ORDER2: define float @caller(float %arg) { ; ORDER2-NEXT: %result = call float @declared_as_nonan(float %arg) ; ORDER2-NEXT: ret float %result declare nofpclass(nan) float @declared_as_nonan(float nofpclass(nan)) define float @caller(float %arg) { %result = call float @declared_as_nonan(float %arg) ret float %result }