[Hexagon][Test] Remove undef and infinite loop from test

Summary:
As suggested in D50222, this has been refactored into a separate patch.

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.

Patch by: hermord (Dmytro Shynkevych)!

Reviewers: kparzysz

Reviewed By: kparzysz

Subscribers: llvm-commits, kparzysz

Differential Revision: https://reviews.llvm.org/D50944

llvm-svn: 341046
This commit is contained in:
Roman Lebedev 2018-08-30 09:32:15 +00:00
parent f1ec7f83b6
commit c0b8022891
1 changed files with 3 additions and 3 deletions

View File

@ -9,14 +9,14 @@
; CHECK: = mpy
; CHECK-NOT: = mpy
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
}