38 lines · plain
1; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=polly-custom<scops>' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=polly<no-default-opts>' -disable-output < %s3;4; %tmp is added to the list of required hoists by -polly-scops and just5; assumed to be hoisted. Only -polly-scops recognizes it to be unhoistable6; because ir depends on %call which cannot be executed speculatively.7;8; CHECK-NOT: Invariant Accesses:9;10target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"11 12; Function Attrs: nounwind uwtable13define void @cli_hex2int() {14entry:15 br label %if.end16 17if.end: ; preds = %entry18 %call = call ptr @__ctype_b_loc() #019 %tmp = load ptr, ptr %call, align 820 %tmp1 = load i16, ptr %tmp, align 221 store i16 3, ptr %tmp, align 222 br i1 false, label %if.then.2, label %if.end.323 24if.then.2: ; preds = %if.end25 br label %cleanup26 27if.end.3: ; preds = %if.end28 br label %cleanup29 30cleanup: ; preds = %if.end.3, %if.then.231 ret void32}33 34; Function Attrs: nounwind readnone35declare ptr @__ctype_b_loc() #036 37attributes #0 = { nounwind readnone }38