[InstCombine] adjust tests for pow(); NFC
authorSanjay Patel <spatel@rotateright.com>
Fri, 1 May 2020 12:23:34 +0000 (08:23 -0400)
committerSanjay Patel <spatel@rotateright.com>
Fri, 1 May 2020 12:42:51 +0000 (08:42 -0400)
D68231 would change this, but the existing test
doesn't cover what was probably intended (a libcall test).

llvm/test/Transforms/InstCombine/pow-3.ll

index d0edd46..4da026b 100644 (file)
@@ -1,13 +1,20 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; Test that the pow() won't get simplified to when it's disabled.
-;
 ; RUN: opt < %s -disable-simplify-libcalls -instcombine -S | FileCheck %s
 
 declare double @llvm.pow.f64(double, double)
 declare double @pow(double, double)
 
-define double @test_simplify_unavailable1(double %x) {
-; CHECK-LABEL: @test_simplify_unavailable1(
+define double @sqrt_libcall(double %x) {
+; CHECK-LABEL: @sqrt_libcall(
+; CHECK-NEXT:    [[RETVAL:%.*]] = call double @pow(double [[X:%.*]], double 5.000000e-01)
+; CHECK-NEXT:    ret double [[RETVAL]]
+;
+  %retval = call double @pow(double %x, double 0.5)
+  ret double %retval
+}
+
+define double @sqrt_intrinsic(double %x) {
+; CHECK-LABEL: @sqrt_intrinsic(
 ; CHECK-NEXT:    [[RETVAL:%.*]] = call double @llvm.pow.f64(double [[X:%.*]], double 5.000000e-01)
 ; CHECK-NEXT:    ret double [[RETVAL]]
 ;
@@ -17,8 +24,8 @@ define double @test_simplify_unavailable1(double %x) {
 
 ; Shrinking is disabled too.
 
-define float @test_simplify_unavailable2(float %f, float %g) {
-; CHECK-LABEL: @test_simplify_unavailable2(
+define float @shrink_libcall(float %f, float %g) {
+; CHECK-LABEL: @shrink_libcall(
 ; CHECK-NEXT:    [[DF:%.*]] = fpext float [[F:%.*]] to double
 ; CHECK-NEXT:    [[DG:%.*]] = fpext float [[G:%.*]] to double
 ; CHECK-NEXT:    [[CALL:%.*]] = call fast double @pow(double [[DF]], double [[DG]])
@@ -34,8 +41,8 @@ define float @test_simplify_unavailable2(float %f, float %g) {
 
 ; Shrinking is disabled for the intrinsic too.
 
-define float @test_simplify_unavailable3(float %f, float %g) {
-; CHECK-LABEL: @test_simplify_unavailable3(
+define float @shrink_intrinsic(float %f, float %g) {
+; CHECK-LABEL: @shrink_intrinsic(
 ; CHECK-NEXT:    [[DF:%.*]] = fpext float [[F:%.*]] to double
 ; CHECK-NEXT:    [[DG:%.*]] = fpext float [[G:%.*]] to double
 ; CHECK-NEXT:    [[CALL:%.*]] = call fast double @llvm.pow.f64(double [[DF]], double [[DG]])