From: Jun Ma Date: Tue, 10 Aug 2021 06:52:00 +0000 (+0800) Subject: [NFC][CVP] Add one switch testcase X-Git-Tag: upstream/15.0.7~33676 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3a063f5ad0147e8cad3c9a247b4327e7b32eb3da;p=platform%2Fupstream%2Fllvm.git [NFC][CVP] Add one switch testcase --- diff --git a/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll b/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll index 49c6f64..42b4414 100644 --- a/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll +++ b/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll @@ -377,6 +377,40 @@ unreachable: ret void } +define i32 @switch_range(i32 %cond) { +; CHECK-LABEL: @switch_range( +; CHECK-NEXT: entry: +; CHECK-NEXT: [[S:%.*]] = urem i32 [[COND:%.*]], 3 +; CHECK-NEXT: [[S1:%.*]] = add nuw nsw i32 [[S]], 1 +; CHECK-NEXT: switch i32 [[S1]], label [[UNREACHABLE:%.*]] [ +; CHECK-NEXT: i32 1, label [[EXIT1:%.*]] +; CHECK-NEXT: i32 2, label [[EXIT2:%.*]] +; CHECK-NEXT: i32 3, label [[EXIT1]] +; CHECK-NEXT: ] +; CHECK: exit1: +; CHECK-NEXT: ret i32 1 +; CHECK: exit2: +; CHECK-NEXT: ret i32 2 +; CHECK: unreachable: +; CHECK-NEXT: ret i32 0 +; +entry: + %s = urem i32 %cond, 3 + %s1 = add i32 %s, 1 + switch i32 %s1, label %unreachable [ + i32 1, label %exit1 + i32 2, label %exit2 + i32 3, label %exit1 + ] + +exit1: + ret i32 1 +exit2: + ret i32 2 +unreachable: + ret i32 0 +} + define i1 @arg_attribute(i8* nonnull %a) { ; CHECK-LABEL: @arg_attribute( ; CHECK-NEXT: ret i1 false