Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/Transforms/LoopUnswitch/2015-06-17-Metadata.ll
Show All 10 Lines | |||||
for.body: ; preds = %for.inc, %for.body.lr.ph | for.body: ; preds = %for.inc, %for.body.lr.ph | ||||
%inc.i = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.inc ] | %inc.i = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.inc ] | ||||
%mul.i = phi i32 [ 3, %for.body.lr.ph ], [ %mul.p, %for.inc ] | %mul.i = phi i32 [ 3, %for.body.lr.ph ], [ %mul.p, %for.inc ] | ||||
%add.i = phi i32 [ %a, %for.body.lr.ph ], [ %add.p, %for.inc ] | %add.i = phi i32 [ %a, %for.body.lr.ph ], [ %add.p, %for.inc ] | ||||
%cmp1 = icmp eq i32 %a, 12345 | %cmp1 = icmp eq i32 %a, 12345 | ||||
br i1 %cmp1, label %if.then, label %if.else, !prof !0 | br i1 %cmp1, label %if.then, label %if.else, !prof !0 | ||||
; CHECK: %cmp1 = icmp eq i32 %a, 12345 | ; CHECK: %cmp1 = icmp eq i32 %a, 12345 | ||||
; CHECK-NEXT: br i1 %cmp1, label %for.body.us, label %for.body, !prof !0 | ; CHECK-NEXT: br i1 %cmp1, label %for.body.preheader.split.us, label %for.body.preheader.split, !prof !0 | ||||
if.then: ; preds = %for.body | if.then: ; preds = %for.body | ||||
; CHECK: for.body.us: | ; CHECK: for.body.us: | ||||
; CHECK: add nsw i32 %{{.*}}, 123 | ; CHECK: add nsw i32 %{{.*}}, 123 | ||||
; CHECK: %exitcond.us = icmp eq i32 %inc.us, %b | ; CHECK: %exitcond.us = icmp eq i32 %inc.us, %b | ||||
; CHECK: br i1 %exitcond.us, label %for.cond.cleanup, label %for.body.us | ; CHECK: br i1 %exitcond.us, label %for.cond.cleanup, label %for.body.us | ||||
%add = add nsw i32 %add.i, 123 | %add = add nsw i32 %add.i, 123 | ||||
br label %for.inc | br label %for.inc | ||||
Show All 20 Lines | |||||
} | } | ||||
define void @foo_swapped(i32 %a, i32 %b) { | define void @foo_swapped(i32 %a, i32 %b) { | ||||
;CHECK-LABEL: foo_swapped | ;CHECK-LABEL: foo_swapped | ||||
entry: | entry: | ||||
br label %for.body | br label %for.body | ||||
;CHECK: entry: | ;CHECK: entry: | ||||
;CHECK-NEXT: %cmp1 = icmp eq i32 1, 2 | ;CHECK-NEXT: %cmp1 = icmp eq i32 1, 2 | ||||
;CHECK-NEXT: br i1 %cmp1, label %for.body, label %for.cond.cleanup.split, !prof !1 | ;CHECK-NEXT: br i1 %cmp1, label %entry.split, label %for.cond.cleanup.split, !prof !1 | ||||
;CHECK: for.body: | ;CHECK: for.body: | ||||
for.body: ; preds = %for.inc, %entry | for.body: ; preds = %for.inc, %entry | ||||
%inc.i = phi i32 [ 0, %entry ], [ %inc, %if.then ] | %inc.i = phi i32 [ 0, %entry ], [ %inc, %if.then ] | ||||
%add.i = phi i32 [ 100, %entry ], [ %add, %if.then ] | %add.i = phi i32 [ 100, %entry ], [ %add, %if.then ] | ||||
%inc = add nuw nsw i32 %inc.i, 1 | %inc = add nuw nsw i32 %inc.i, 1 | ||||
%cmp1 = icmp eq i32 1, 2 | %cmp1 = icmp eq i32 1, 2 | ||||
br i1 %cmp1, label %if.then, label %for.cond.cleanup, !prof !0 | br i1 %cmp1, label %if.then, label %for.cond.cleanup, !prof !0 | ||||
Show All 13 Lines |