1; RUN: opt %loadPolly \ 2; RUN: -polly-codegen -S < %s | FileCheck %s 3 4; CHECK: polly.start 5; int /* pure */ g() 6; void f(int *A) { 7; if (g()) 8; *A = *A + 1; 9; else 10; *A = *A - 1; 11; } 12; 13target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 14 15define void @f(i32* %A) { 16entry: 17 br label %entry.split 18 19entry.split: 20 %call = call i32 @g() 21 %cmp = icmp eq i32 %call, 0 22 br i1 %cmp, label %if.then, label %if.else 23 24if.then: ; preds = %entry 25 %tmp1 = load i32, i32* %A, align 4 26 %add = add nsw i32 %tmp1, 1 27 store i32 %add, i32* %A, align 4 28 br label %if.end 29 30if.else: ; preds = %entry 31 %tmp2 = load i32, i32* %A, align 4 32 %sub = add nsw i32 %tmp2, -1 33 store i32 %sub, i32* %A, align 4 34 br label %if.end 35 36if.end: ; preds = %if.else, %if.then 37 ret void 38} 39 40declare i32 @g() #0 41 42attributes #0 = { nounwind readnone } 43