[llvm] r326515 - [InstCombine] Simplify test cases by removing loads/stores that aren't required for what is being tested.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 1 16:27:45 PST 2018


Author: ctopper
Date: Thu Mar  1 16:27:44 2018
New Revision: 326515

URL: http://llvm.org/viewvc/llvm-project?rev=326515&view=rev
Log:
[InstCombine] Simplify test cases by removing loads/stores that aren't required for what is being tested.

The loads and stores were getting the data and storing the results. There's no reason we can't just use function arguments and return.

Modified:
    llvm/trunk/test/Transforms/InstCombine/fpextend.ll

Modified: llvm/trunk/test/Transforms/InstCombine/fpextend.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/fpextend.ll?rev=326515&r1=326514&r2=326515&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/fpextend.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/fpextend.ll Thu Mar  1 16:27:44 2018
@@ -1,120 +1,88 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt < %s -instcombine -S | FileCheck %s
 
- at X = external global float
- at Y = external global float
- at Z = external global <2 x float>
-
-define void @test() nounwind  {
+define float @test(float %x) nounwind  {
 ; CHECK-LABEL: @test(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load float, float* @X, align 4
-; CHECK-NEXT:    [[TMP34:%.*]] = fadd float [[TMP]], 0.000000e+00
-; CHECK-NEXT:    store float [[TMP34]], float* @X, align 4
-; CHECK-NEXT:    ret void
+; CHECK-NEXT:    [[TMP34:%.*]] = fadd float [[X:%.*]], 0.000000e+00
+; CHECK-NEXT:    ret float [[TMP34]]
 ;
 entry:
-  %tmp = load float, float* @X, align 4		; <float> [#uses=1]
-  %tmp1 = fpext float %tmp to double		; <double> [#uses=1]
-  %tmp3 = fadd double %tmp1, 0.000000e+00		; <double> [#uses=1]
-  %tmp34 = fptrunc double %tmp3 to float		; <float> [#uses=1]
-  store float %tmp34, float* @X, align 4
-  ret void
+  %tmp1 = fpext float %x to double
+  %tmp3 = fadd double %tmp1, 0.000000e+00
+  %tmp34 = fptrunc double %tmp3 to float
+  ret float %tmp34
 }
 
-define void @test2() nounwind  {
+define float @test2(float %x, float %y) nounwind  {
 ; CHECK-LABEL: @test2(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load float, float* @X, align 4
-; CHECK-NEXT:    [[TMP2:%.*]] = load float, float* @Y, align 4
-; CHECK-NEXT:    [[TMP56:%.*]] = fmul float [[TMP]], [[TMP2]]
-; CHECK-NEXT:    store float [[TMP56]], float* @X, align 4
-; CHECK-NEXT:    ret void
-;
-entry:
-  %tmp = load float, float* @X, align 4		; <float> [#uses=1]
-  %tmp1 = fpext float %tmp to double		; <double> [#uses=1]
-  %tmp2 = load float, float* @Y, align 4		; <float> [#uses=1]
-  %tmp23 = fpext float %tmp2 to double		; <double> [#uses=1]
-  %tmp5 = fmul double %tmp1, %tmp23		; <double> [#uses=1]
-  %tmp56 = fptrunc double %tmp5 to float		; <float> [#uses=1]
-  store float %tmp56, float* @X, align 4
-  ret void
+; CHECK-NEXT:    [[TMP56:%.*]] = fmul float [[X:%.*]], [[Y:%.*]]
+; CHECK-NEXT:    ret float [[TMP56]]
+;
+entry:
+  %tmp1 = fpext float %x to double
+  %tmp23 = fpext float %y to double
+  %tmp5 = fmul double %tmp1, %tmp23
+  %tmp56 = fptrunc double %tmp5 to float
+  ret float %tmp56
 }
 
-define void @test3() nounwind  {
+define float @test3(float %x, float %y) nounwind  {
 ; CHECK-LABEL: @test3(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load float, float* @X, align 4
-; CHECK-NEXT:    [[TMP2:%.*]] = load float, float* @Y, align 4
-; CHECK-NEXT:    [[TMP56:%.*]] = fdiv float [[TMP]], [[TMP2]]
-; CHECK-NEXT:    store float [[TMP56]], float* @X, align 4
-; CHECK-NEXT:    ret void
-;
-entry:
-  %tmp = load float, float* @X, align 4		; <float> [#uses=1]
-  %tmp1 = fpext float %tmp to double		; <double> [#uses=1]
-  %tmp2 = load float, float* @Y, align 4		; <float> [#uses=1]
-  %tmp23 = fpext float %tmp2 to double		; <double> [#uses=1]
-  %tmp5 = fdiv double %tmp1, %tmp23		; <double> [#uses=1]
-  %tmp56 = fptrunc double %tmp5 to float		; <float> [#uses=1]
-  store float %tmp56, float* @X, align 4
-  ret void
+; CHECK-NEXT:    [[TMP56:%.*]] = fdiv float [[X:%.*]], [[Y:%.*]]
+; CHECK-NEXT:    ret float [[TMP56]]
+;
+entry:
+  %tmp1 = fpext float %x to double
+  %tmp23 = fpext float %y to double
+  %tmp5 = fdiv double %tmp1, %tmp23
+  %tmp56 = fptrunc double %tmp5 to float
+  ret float %tmp56
 }
 
-define void @test4() nounwind  {
+define float @test4(float %x) nounwind  {
 ; CHECK-LABEL: @test4(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load float, float* @X, align 4
-; CHECK-NEXT:    [[TMP34:%.*]] = fsub float -0.000000e+00, [[TMP]]
-; CHECK-NEXT:    store float [[TMP34]], float* @X, align 4
-; CHECK-NEXT:    ret void
+; CHECK-NEXT:    [[TMP34:%.*]] = fsub float -0.000000e+00, [[X:%.*]]
+; CHECK-NEXT:    ret float [[TMP34]]
 ;
 entry:
-  %tmp = load float, float* @X, align 4		; <float> [#uses=1]
-  %tmp1 = fpext float %tmp to double		; <double> [#uses=1]
-  %tmp2 = fsub double -0.000000e+00, %tmp1		; <double> [#uses=1]
-  %tmp34 = fptrunc double %tmp2 to float		; <float> [#uses=1]
-  store float %tmp34, float* @X, align 4
-  ret void
+  %tmp1 = fpext float %x to double
+  %tmp2 = fsub double -0.000000e+00, %tmp1
+  %tmp34 = fptrunc double %tmp2 to float
+  ret float %tmp34
 }
 
 ; Test with vector splat constant
-define void @test5() nounwind  {
+define <2 x float> @test5(<2 x float> %x) nounwind  {
 ; CHECK-LABEL: @test5(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load <2 x float>, <2 x float>* @Z, align 8
-; CHECK-NEXT:    [[TMP1:%.*]] = fpext <2 x float> [[TMP]] to <2 x double>
+; CHECK-NEXT:    [[TMP1:%.*]] = fpext <2 x float> [[X:%.*]] to <2 x double>
 ; CHECK-NEXT:    [[TMP3:%.*]] = fadd <2 x double> [[TMP1]], zeroinitializer
 ; CHECK-NEXT:    [[TMP34:%.*]] = fptrunc <2 x double> [[TMP3]] to <2 x float>
-; CHECK-NEXT:    store <2 x float> [[TMP34]], <2 x float>* @Z, align 8
-; CHECK-NEXT:    ret void
+; CHECK-NEXT:    ret <2 x float> [[TMP34]]
 ;
 entry:
-  %tmp = load <2 x float>, <2 x float>* @Z, align 4
-  %tmp1 = fpext <2 x float> %tmp to <2 x double>
+  %tmp1 = fpext <2 x float> %x to <2 x double>
   %tmp3 = fadd <2 x double> %tmp1, <double 0.000000e+00, double 0.000000e+00>
   %tmp34 = fptrunc <2 x double> %tmp3 to <2 x float>
-  store <2 x float> %tmp34, <2 x float>* @Z, align 4
-  ret void
+  ret <2 x float> %tmp34
 }
 
 ; Test with a non-splat constant
-define void @test6() nounwind  {
+define <2 x float> @test6(<2 x float> %x) nounwind  {
 ; CHECK-LABEL: @test6(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP:%.*]] = load <2 x float>, <2 x float>* @Z, align 8
-; CHECK-NEXT:    [[TMP1:%.*]] = fpext <2 x float> [[TMP]] to <2 x double>
+; CHECK-NEXT:    [[TMP1:%.*]] = fpext <2 x float> [[X:%.*]] to <2 x double>
 ; CHECK-NEXT:    [[TMP3:%.*]] = fadd <2 x double> [[TMP1]], <double 0.000000e+00, double -0.000000e+00>
 ; CHECK-NEXT:    [[TMP34:%.*]] = fptrunc <2 x double> [[TMP3]] to <2 x float>
-; CHECK-NEXT:    store <2 x float> [[TMP34]], <2 x float>* @Z, align 8
-; CHECK-NEXT:    ret void
+; CHECK-NEXT:    ret <2 x float> [[TMP34]]
 ;
 entry:
-  %tmp = load <2 x float>, <2 x float>* @Z, align 4
-  %tmp1 = fpext <2 x float> %tmp to <2 x double>
+  %tmp1 = fpext <2 x float> %x to <2 x double>
   %tmp3 = fadd <2 x double> %tmp1, <double 0.000000e+00, double -0.000000e+00>
   %tmp34 = fptrunc <2 x double> %tmp3 to <2 x float>
-  store <2 x float> %tmp34, <2 x float>* @Z, align 4
-  ret void
+  ret <2 x float> %tmp34
 }




More information about the llvm-commits mailing list