Files
clang-p2996/llvm/test/Transforms/LoopRotate/PhiSelfReference-1.ll
Alina Sbirlea ad4d018202 Update MemorySSA in LoopRotate.
Summary:
Teach LoopRotate to preserve MemorySSA.
Enable tests for correctness, dependency disabled by default.

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

Differential Revision: https://reviews.llvm.org/D51718

llvm-svn: 345216
2018-10-24 22:46:45 +00:00

41 lines
1.0 KiB
LLVM

; RUN: opt < %s -loop-rotate -verify-dom-info -verify-loop-info -disable-output
; RUN: opt < %s -loop-rotate -verify-dom-info -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
; ModuleID = 'PhiSelfReference-1.bc'
define void @snrm2(i32 %incx) {
entry:
br i1 false, label %START, label %return
START: ; preds = %entry
br i1 false, label %bb85, label %cond_false93
bb52: ; preds = %bb85
br i1 false, label %bb307, label %cond_next71
cond_next71: ; preds = %bb52
ret void
bb85: ; preds = %START
br i1 false, label %bb52, label %bb88
bb88: ; preds = %bb85
ret void
cond_false93: ; preds = %START
ret void
bb243: ; preds = %bb307
br label %bb307
bb307: ; preds = %bb243, %bb52
%sx_addr.2.pn = phi float* [ %sx_addr.5, %bb243 ], [ null, %bb52 ] ; <float*> [#uses=1]
%sx_addr.5 = getelementptr float, float* %sx_addr.2.pn, i32 %incx ; <float*> [#uses=1]
br i1 false, label %bb243, label %bb310
bb310: ; preds = %bb307
ret void
return: ; preds = %entry
ret void
}