From bb07eb944f9b9ca7b3d8ac786c92e1f5bf59e3e1 Mon Sep 17 00:00:00 2001 From: Chen Zheng Date: Fri, 17 Jul 2020 22:51:00 -0400 Subject: [PATCH] [PowerPC]add testcase for adding store (load float*) pattern, nfc --- .../SimplifyCFG/PowerPC/prefer-load-i32.ll | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 llvm/test/Transforms/SimplifyCFG/PowerPC/prefer-load-i32.ll diff --git a/llvm/test/Transforms/SimplifyCFG/PowerPC/prefer-load-i32.ll b/llvm/test/Transforms/SimplifyCFG/PowerPC/prefer-load-i32.ll new file mode 100644 index 000000000000..943fcba57c65 --- /dev/null +++ b/llvm/test/Transforms/SimplifyCFG/PowerPC/prefer-load-i32.ll @@ -0,0 +1,33 @@ +; RUN: opt < %s -mtriple=powerpc64le-unknown-linux-gnu -simplifycfg -S | \ +; RUN: FileCheck %s + +define float @foo(float* %src, float* %dest, i32 signext %count, i32 signext %cond) { +; CHECK-LABEL: @foo( +; CHECK-LABEL: entry: +; CHECK: %0 = load float, float* %arrayidx, align 4 +entry: + %cmp = icmp sgt i32 %cond, 10 + %idxprom = sext i32 %count to i64 + %arrayidx = getelementptr inbounds float, float* %src, i64 %idxprom + br i1 %cmp, label %if.then, label %if.else + +; CHECK-LABEL: if.then: +; CHECK-NOT: load float +if.then: ; preds = %entry + %0 = load float, float* %arrayidx, align 4 + %res = fmul float %0, 3.000000e+00 + br label %if.end + +; CHECK-LABEL: if.else: +; CHECK-NOT: load float +if.else: ; preds = %entry + %1 = load float, float* %arrayidx, align 4 + %idxprom3 = sext i32 %count to i64 + %arrayidx4 = getelementptr inbounds float, float* %dest, i64 %idxprom3 + store float %1, float* %arrayidx4, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %res2.0 = phi float [ %res, %if.then ], [ 0.000000e+00, %if.else ] + ret float %res2.0 +} -- 2.34.1