; RUN: opt %loadPolly -S -polly-codegen < %s | FileCheck %s ; This test case has two scops in a row. When code generating the first scop, ; the second scop is invalidated. This test case verifies that we do not crash ; due to incorrectly assuming the second scop is still valid. ; We explicitly check here that the second scop is not code generated. Later ; improvements may make this possible (e.g., Polly gaining support for ; parameteric conditional expressions or a changed code generation order). ; However, in case this happens, we want to ensure this test case is been ; reasoned about and updated accordingly. ; CHECK: polly.start: ; CHECK-NOT: polly.start: target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @hoge(i8* %arg) { bb: br label %bb1 bb1: ; preds = %bb %tmp = getelementptr inbounds i8, i8* %arg, i64 5 %tmp2 = getelementptr inbounds i8, i8* %arg, i64 6 br i1 false, label %bb3, label %bb4 bb3: ; preds = %bb1 br label %bb4 bb4: ; preds = %bb3, %bb1 %tmp5 = icmp eq i32 0, 1 br label %bb6 bb6: ; preds = %bb4 br i1 undef, label %bb7, label %bb8 bb7: ; preds = %bb6 unreachable bb8: ; preds = %bb6 br i1 %tmp5, label %bb9, label %bb10 bb9: ; preds = %bb8 br label %bb11 bb10: ; preds = %bb8 br label %bb11 bb11: ; preds = %bb10, %bb9 ret void }