blob: ef72f87cce4947c9ea8153d1e07264b17adb5233 [file] [log] [blame]
Tim Shen9e25d5d2018-07-13 23:40:00 +00001; RUN: llc --start-before loop-reduce --stop-after loop-reduce %s -o - | FileCheck %s
2target datalayout = "e-m:e-p:32:32-i64:64-n32-S128"
3target triple = "x86_64-unknown-linux-gnu"
4
5define void @hoge() {
6bb:
7 %tmp = sext i32 undef to i64
8 %tmp3 = sub nsw i64 0, %tmp
9 br label %bb4
10
11bb4: ; preds = %bb20, %bb
12 %tmp5 = getelementptr inbounds double, double* undef, i64 undef
13 %tmp6 = getelementptr inbounds double, double* %tmp5, i64 %tmp3
14 br label %bb7
15
16bb7: ; preds = %bb7, %bb4
17 %tmp8 = phi double* [ %tmp10, %bb7 ], [ %tmp6, %bb4 ]
18 %tmp9 = load double, double* %tmp8
19 %tmp10 = getelementptr inbounds double, double* %tmp8, i64 1
20 br i1 true, label %bb11, label %bb7
21
22bb11: ; preds = %bb7
23 br i1 undef, label %bb20, label %bb12
24
25bb12: ; preds = %bb11
26 br label %bb13
27
28bb13: ; preds = %bb13, %bb12
29 %tmp14 = phi double* [ %tmp18, %bb13 ], [ %tmp10, %bb12 ]
30 %tmp15 = load double, double* %tmp14, align 8
31 %tmp16 = getelementptr inbounds double, double* %tmp14, i64 1
32 %tmp17 = load double, double* %tmp16, align 8
33 %tmp18 = getelementptr inbounds double, double* %tmp14, i64 8
34 br i1 true, label %bb19, label %bb13
35
36bb19: ; preds = %bb13
37 br label %bb20
38
39bb20: ; preds = %bb19, %bb11
40 br label %bb4
41}