92 lines · plain
1; RUN: opt %loadNPMPolly -S '-passes=polly<no-default-opts>' -polly-invariant-load-hoisting=true < %s2;3; Check that we generate valid code as we did non preload the base pointer4; origin of %tmp4 at some point.5;6target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"7 8@TOP = external global ptr, align 89@BOT = external global ptr, align 810 11define void @RemoveConstraintVCG() {12entry:13 br i1 undef, label %for.end.161, label %for.cond.2.preheader14 15for.cond.2.preheader: ; preds = %entry16 br i1 undef, label %for.end.128, label %for.body.417 18for.body.4: ; preds = %for.inc.126, %for.cond.2.preheader19 br i1 undef, label %for.cond.8.preheader, label %for.inc.12620 21for.cond.8.preheader: ; preds = %for.body.422 br i1 undef, label %for.inc.126, label %for.body.1123 24for.body.11: ; preds = %for.inc, %for.cond.8.preheader25 br i1 undef, label %land.lhs.true, label %for.inc26 27land.lhs.true: ; preds = %for.body.1128 br i1 undef, label %if.then.20, label %for.inc29 30if.then.20: ; preds = %land.lhs.true31 %tmp = load ptr, ptr @TOP, align 832 %tmp1 = load i64, ptr %tmp, align 833 %cmp25 = icmp eq i64 %tmp1, 134 %cmp47 = icmp eq i64 %tmp1, 035 br i1 false, label %if.end.117, label %lor.lhs.false.8536 37lor.lhs.false.85: ; preds = %if.then.2038 %add94 = add i64 %tmp1, 139 %tmp2 = load ptr, ptr @TOP, align 840 %arrayidx95 = getelementptr inbounds i64, ptr %tmp2, i64 %add9441 %tmp3 = load i64, ptr %arrayidx95, align 842 br i1 false, label %if.else.103, label %land.lhs.true.9743 44land.lhs.true.97: ; preds = %lor.lhs.false.8545 %tmp4 = load ptr, ptr @BOT, align 846 %arrayidx99 = getelementptr inbounds i64, ptr %tmp4, i64 %add9447 %tmp5 = load i64, ptr %arrayidx99, align 848 %tobool100 = icmp eq i64 %tmp5, 049 br i1 %tobool100, label %if.else.103, label %if.then.10150 51if.then.101: ; preds = %land.lhs.true.9752 br label %if.end.11753 54if.else.103: ; preds = %land.lhs.true.97, %lor.lhs.false.8555 %tmp6 = load ptr, ptr @TOP, align 856 %arrayidx105 = getelementptr inbounds i64, ptr %tmp6, i64 %add9457 %tmp7 = load i64, ptr %arrayidx105, align 858 br i1 false, label %lor.lhs.false.107, label %if.else.11259 60lor.lhs.false.107: ; preds = %if.else.10361 %tmp8 = load ptr, ptr @BOT, align 862 %arrayidx109 = getelementptr inbounds i64, ptr %tmp8, i64 %add9463 br i1 false, label %if.end.117, label %if.else.11264 65if.else.112: ; preds = %lor.lhs.false.107, %if.else.10366 br label %if.end.11767 68if.end.117: ; preds = %if.else.112, %lor.lhs.false.107, %if.then.101, %if.then.2069 br i1 undef, label %if.then.119, label %for.inc70 71if.then.119: ; preds = %if.end.11772 br label %for.inc73 74for.inc: ; preds = %if.then.119, %if.end.117, %land.lhs.true, %for.body.1175 br i1 false, label %for.body.11, label %for.inc.12676 77for.inc.126: ; preds = %for.inc, %for.cond.8.preheader, %for.body.478 br i1 undef, label %for.end.128, label %for.body.479 80for.end.128: ; preds = %for.inc.126, %for.cond.2.preheader81 br i1 false, label %cond.false, label %cond.end82 83cond.false: ; preds = %for.end.12884 unreachable85 86cond.end: ; preds = %for.end.12887 unreachable88 89for.end.161: ; preds = %entry90 ret void91}92