Imported Upstream version 5.18.0.182

Former-commit-id: f9d55cf82631bfd710c387739687e5845296aea1
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-10-26 08:32:15 +00:00
parent 8625704ad8
commit b716dc8d12
28490 changed files with 76 additions and 3866845 deletions

View File

@@ -1,30 +0,0 @@
; RUN: opt -indvars -S < %s | FileCheck %s
declare void @use(i32)
declare void @use.i8(i8)
define void @f() {
; CHECK-LABEL: @f
entry:
br label %loop
loop:
; The only use for idx.mirror is to induce an nuw for %idx. It does
; not induce an nuw for %idx.inc
%idx.mirror = phi i8 [ -6, %entry ], [ %idx.mirror.inc, %loop ]
%idx = phi i8 [ -5, %entry ], [ %idx.inc, %loop ]
%idx.sext = sext i8 %idx to i32
call void @use(i32 %idx.sext)
%idx.mirror.inc = add nuw i8 %idx.mirror, 1
call void @use.i8(i8 %idx.mirror.inc)
%idx.inc = add i8 %idx, 1
; CHECK-NOT: %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
%cmp = icmp ugt i8 %idx.inc, 0
br i1 %cmp, label %loop, label %exit
exit:
ret void
}