| Kyle Butt | 6262ca3 | 2016-08-24 21:34:24 +0000 | [diff] [blame] | 1 | ; RUN: llc -O2 -o - %s | FileCheck %s |
| 2 | target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" |
| 3 | target triple = "thumbv7-unknown-linux-gnueabihf" |
| 4 | |
| 5 | ; Function Attrs: argmemonly nounwind |
| Matt Arsenault | f10061e | 2017-04-10 20:18:21 +0000 | [diff] [blame] | 6 | declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0 |
| Kyle Butt | 6262ca3 | 2016-08-24 21:34:24 +0000 | [diff] [blame] | 7 | |
| 8 | ; Function Attrs: nounwind |
| 9 | declare void @_ZNSaIcEC2Ev() unnamed_addr #0 align 2 |
| 10 | |
| 11 | declare void @_ZNSsC1EPKcRKSaIcE() unnamed_addr #0 |
| 12 | |
| 13 | ; It isn't valid to If-Convert the following function, even though the calls |
| 14 | ; are in common. The calls clobber the predicate info. |
| 15 | ; CHECK: cbnz r{{[0-9]+}}, .LBB0_2 |
| Francis Visoiu Mistrih | 25528d6 | 2017-12-04 17:18:51 +0000 | [diff] [blame] | 16 | ; CHECK: %bb.1 |
| Kyle Butt | 6262ca3 | 2016-08-24 21:34:24 +0000 | [diff] [blame] | 17 | ; CHECK: .LBB0_2 |
| 18 | ; Function Attrs: nounwind |
| 19 | define hidden void @_ZN4llvm14DOTGraphTraitsIPNS_13ScheduleDAGMIEE17getEdgeAttributesEPKNS_5SUnitENS_13SUnitIteratorEPKNS_11ScheduleDAGE() #0 align 2 { |
| 20 | br i1 undef, label %1, label %2 |
| 21 | |
| 22 | ; <label>:1: ; preds = %0 |
| 23 | call void @_ZNSaIcEC2Ev() #0 |
| 24 | call void @_ZNSsC1EPKcRKSaIcE() |
| 25 | br label %3 |
| 26 | |
| 27 | ; <label>:2: ; preds = %0 |
| Matt Arsenault | f10061e | 2017-04-10 20:18:21 +0000 | [diff] [blame] | 28 | call void @llvm.lifetime.start.p0i8(i64 1, i8* undef) #0 |
| Kyle Butt | 6262ca3 | 2016-08-24 21:34:24 +0000 | [diff] [blame] | 29 | call void @_ZNSaIcEC2Ev() #0 |
| 30 | br label %3 |
| 31 | |
| 32 | ; <label>:3: ; preds = %2, %1 |
| 33 | ret void |
| 34 | } |
| 35 | |
| 36 | attributes #0 = { nounwind } |