mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-03 17:02:03 +00:00
[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
This commit is contained in:
parent
69bc252c61
commit
e8d7297324
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user