From de9d7871318742e66966106ab9631cbf5e15d4a9 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Tue, 11 Sep 2018 14:06:14 +0000 Subject: [PATCH] [Hexagon] [Test] Remove undef and infinite loop from test Summary: The undef and the infinite loop at the end cause this test to be translated unpredictably. In particular, the checked-for `mpy` disappears under certain legal optimizations (e.g. the one in D50222). Since the use of these constructs is not relevant to the behavior tested, according to the header comment, this change, suggested by @kparzysz, eliminates them. Was initially committed in r341046, but was reverted. Patch by: hermord (Dmytro Shynkevych)! Reviewers: kparzysz Reviewed By: kparzysz Subscribers: lebedev.ri, llvm-commits, kparzysz Differential Revision: https://reviews.llvm.org/D50944 llvm-svn: 341943 --- llvm/test/CodeGen/Hexagon/swp-const-tc2.ll | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm/test/CodeGen/Hexagon/swp-const-tc2.ll b/llvm/test/CodeGen/Hexagon/swp-const-tc2.ll index c573227..8b9f87f 100644 --- a/llvm/test/CodeGen/Hexagon/swp-const-tc2.ll +++ b/llvm/test/CodeGen/Hexagon/swp-const-tc2.ll @@ -6,17 +6,17 @@ ; In the bug, the final CFG contains two iterations of the loop. ; CHECK-NOT: loop0 -; CHECK: = mpy -; CHECK-NOT: = mpy +; CHECK: r{{[0-9]+}} = mpyi +; CHECK-NOT: r{{[0-9]+}} = mpyi -define void @f0() { +define i32 @f0(i32* %a0) { b0: br label %b1 b1: ; preds = %b1, %b0 %v0 = phi i32 [ 0, %b0 ], [ %v9, %b1 ] %v1 = phi i32 [ 0, %b0 ], [ %v8, %b1 ] - %v2 = load i32, i32* undef, align 4 + %v2 = load i32, i32* %a0, align 4 %v3 = add nsw i32 %v1, 1 %v4 = srem i32 %v2, 3 %v5 = icmp ne i32 %v4, 0 @@ -32,5 +32,5 @@ b2: ; preds = %b1 br label %b3 b3: ; preds = %b3, %b2 - br label %b3 + ret i32 %v11 } -- 2.7.4