Imported Upstream version 5.18.0.179

Former-commit-id: 67aa10e65b237e1c4537630979ee99ebe1374215
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-10-25 08:34:57 +00:00
parent d6bde52373
commit 8625704ad8
28485 changed files with 3866843 additions and 50 deletions

View File

@@ -0,0 +1,20 @@
; RUN: opt -S -indvars < %s | FileCheck %s
; The indvar simplification code should ensure that the first PHI in the block
; is the canonical one!
define i32 @test() {
; <label>:0
br label %Loop
Loop: ; preds = %Loop, %0
; CHECK: Loop:
; CHECK-NEXT: Canonical
%NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ] ; <i32> [#uses=1]
%Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ] ; <i32> [#uses=2]
store i32 %Canonical, i32* null
%NonIndvarNext = sdiv i32 %NonIndvar, 2 ; <i32> [#uses=1]
%CanonicalNext = add i32 %Canonical, 1 ; <i32> [#uses=1]
br label %Loop
}