1; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s 2 3; Make sure code generation does not break in case an 'error block' is detected 4; outside of the scope. In this situation, we should not affect code generation. 5 6; CHECK: polly.cond: 7; CHECK-NEXT: ptrtoint ptr %tmp8 to i64 8; CHECK-NEXT: icmp sle i64 9; CHECK-NEXT: ptrtoint ptr %tmp8 to i64 10; CHECK-NEXT: icmp sge i64 11; CHECK-NEXT: or i1 12; CHECK-NEXT: label %polly.then, label %polly.else 13 14target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 15 16declare void @widget() 17 18define void @baz() { 19bb: 20 br label %bb1 21 22bb1: 23 br i1 undef, label %bb5, label %bb2 24 25bb2: 26 %tmp = call ptr @pluto() 27 br label %bb6 28 29bb5: 30 call void @widget() 31 br label %bb7 32 33bb6: 34 br label %bb7 35 36bb7: 37 %tmp8 = phi ptr [ %tmp, %bb6 ], [ null, %bb5 ] 38 br label %bb9 39 40bb9: 41 %tmp10 = icmp eq ptr %tmp8, null 42 br i1 %tmp10, label %bb12, label %bb11 43 44bb11: 45 br label %bb12 46 47bb12: 48 %tmp13 = phi ptr [ undef, %bb9 ], [ undef, %bb11 ] 49 ret void 50} 51 52declare ptr @pluto() 53