Justin Bogner | 263f314 | 2016-04-12 23:21:53 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple thumbv7 -stop-after=if-converter < %s 2>&1 | FileCheck %s |
| 2 | |
| 3 | ; Make sure the save point and restore point are dropped from MFI at |
| 4 | ; this point. Notably, if it isn't is will be invalid and reference a |
| 5 | ; deleted block (%bb.-1.if.end) |
| 6 | |
Vivek Pandya | 56d87ef | 2017-06-06 08:16:19 +0000 | [diff] [blame] | 7 | ; CHECK: savePoint: '' |
| 8 | ; CHECK: restorePoint: '' |
Justin Bogner | 263f314 | 2016-04-12 23:21:53 +0000 | [diff] [blame] | 9 | |
| 10 | target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" |
| 11 | target triple = "thumbv7" |
| 12 | |
| 13 | define i32 @f(i32 %n) { |
| 14 | entry: |
| 15 | %cmp = icmp ult i32 %n, 4 |
| 16 | br i1 %cmp, label %return, label %if.end |
| 17 | |
| 18 | if.end: |
| 19 | tail call void @g(i32 %n) |
| 20 | br label %return |
| 21 | |
| 22 | return: |
| 23 | %retval.0 = phi i32 [ 0, %if.end ], [ -1, %entry ] |
| 24 | ret i32 %retval.0 |
| 25 | } |
| 26 | |
| 27 | declare void @g(i32) |