xref: /minix3/external/bsd/llvm/dist/llvm/test/Transforms/InstCombine/fold-calls.ll (revision 0b98e8aad89f2bd4ba80b523d73cf29e9dd82ce1)
1; RUN: opt -instcombine -S < %s | FileCheck %s
2
3; This shouldn't fold, because sin(inf) is invalid.
4; CHECK-LABEL: @foo(
5; CHECK:   %t = call double @sin(double 0x7FF0000000000000)
6define double @foo() {
7  %t = call double @sin(double 0x7FF0000000000000)
8  ret double %t
9}
10
11; This should fold.
12; CHECK-LABEL: @bar(
13; CHECK:   ret double 0.0
14define double @bar() {
15  %t = call double @sin(double 0.0)
16  ret double %t
17}
18
19declare double @sin(double)
20