Tim Shen | 9e25d5d | 2018-07-13 23:40:00 +0000 | [diff] [blame^] | 1 | ; RUN: llc --start-before loop-reduce --stop-after loop-reduce %s -o - | FileCheck %s |
| 2 | target datalayout = "e-m:e-p:32:32-i64:64-n32-S128" |
| 3 | target triple = "x86_64-unknown-linux-gnu" |
| 4 | |
| 5 | define void @hoge() { |
| 6 | bb: |
| 7 | %tmp = sext i32 undef to i64 |
| 8 | %tmp3 = sub nsw i64 0, %tmp |
| 9 | br label %bb4 |
| 10 | |
| 11 | bb4: ; 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 | |
| 16 | bb7: ; 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 | |
| 22 | bb11: ; preds = %bb7 |
| 23 | br i1 undef, label %bb20, label %bb12 |
| 24 | |
| 25 | bb12: ; preds = %bb11 |
| 26 | br label %bb13 |
| 27 | |
| 28 | bb13: ; 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 | |
| 36 | bb19: ; preds = %bb13 |
| 37 | br label %bb20 |
| 38 | |
| 39 | bb20: ; preds = %bb19, %bb11 |
| 40 | br label %bb4 |
| 41 | } |