summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Hexagon/newvaluejump.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/Hexagon/newvaluejump.ll')
-rw-r--r--llvm/test/CodeGen/Hexagon/newvaluejump.ll57
1 files changed, 30 insertions, 27 deletions
diff --git a/llvm/test/CodeGen/Hexagon/newvaluejump.ll b/llvm/test/CodeGen/Hexagon/newvaluejump.ll
index e1437f369c8..0697d297d71 100644
--- a/llvm/test/CodeGen/Hexagon/newvaluejump.ll
+++ b/llvm/test/CodeGen/Hexagon/newvaluejump.ll
@@ -1,33 +1,36 @@
-; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
+; RUN: llc -march=hexagon < %s | FileCheck %s
; Check that we generate new value jump.
-@i = global i32 0, align 4
-@j = global i32 10, align 4
-
-define i32 @foo(i32 %a) nounwind {
-entry:
; CHECK: if (cmp.eq(r{{[0-9]+}}.new,#0)) jump{{.}}
- %addr1 = alloca i32, align 4
- %addr2 = alloca i32, align 4
- %0 = load i32, i32* @i, align 4
- store i32 %0, i32* %addr1, align 4
- call void @bar(i32 1, i32 2)
- %1 = load i32, i32* @j, align 4
- %tobool = icmp ne i32 %1, 0
- br i1 %tobool, label %if.then, label %if.else
-
-if.then:
- call void @baz(i32 1, i32 2)
- br label %if.end
-
-if.else:
- call void @guy(i32 10, i32 20)
- br label %if.end
-
-if.end:
+
+@g0 = global i32 0, align 4
+@g1 = global i32 10, align 4
+
+define i32 @f0(i32 %a0) #0 {
+b0:
+ %v0 = alloca i32, align 4
+ %v1 = alloca i32, align 4
+ %v2 = load i32, i32* @g0, align 4
+ store i32 %v2, i32* %v0, align 4
+ call void @f2(i32 1, i32 2)
+ %v3 = load i32, i32* @g1, align 4
+ %v4 = icmp ne i32 %v3, 0
+ br i1 %v4, label %b1, label %b2
+
+b1: ; preds = %b0
+ call void @f3(i32 1, i32 2)
+ br label %b3
+
+b2: ; preds = %b0
+ call void @f1(i32 10, i32 20)
+ br label %b3
+
+b3: ; preds = %b2, %b1
ret i32 0
}
-declare void @guy(i32, i32)
-declare void @bar(i32, i32)
-declare void @baz(i32, i32)
+declare void @f1(i32, i32) #0
+declare void @f2(i32, i32) #0
+declare void @f3(i32, i32) #0
+
+attributes #0 = { nounwind "target-cpu"="hexagonv5" }
OpenPOWER on IntegriCloud