1 ; RUN: opt < %s -instcombine -S | FileCheck %s 2 3 define double @mylog(double %x, double %y) { 4 entry: 5 %pow = call double @llvm.pow.f64(double %x, double %y) 6 %call = call double @log(double %pow) 7 ret double %call 8 } 9 10 ; CHECK-LABEL: define double @mylog( 11 ; CHECK: %pow = call double @llvm.pow.f64(double %x, double %y) 12 ; CHECK: %call = call double @log(double %pow) 13 ; CHECK: ret double %call 14 ; CHECK: } 15 16 define double @test3(double %x) { 17 %call2 = call double @exp2(double %x) 18 %call3 = call double @log(double %call2) 19 ret double %call3 20 } 21 22 ; CHECK-LABEL: @test3 23 ; CHECK: %call2 = call double @exp2(double %x) 24 ; CHECK: %call3 = call double @log(double %call2) 25 ; CHECK: ret double %call3 26 ; CHECK: } 27 28 declare double @log(double) 29 declare double @exp2(double) 30 declare double @llvm.pow.f64(double, double) 31