blob: f4d260d973987b65c86379b6ede964e6675212fc [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt < %s -passes=licm -verify-memoryssa -S | FileCheck %s
declare i1 @b()
define i32 @a(i32 %x) nounwind {
; CHECK-LABEL: define i32 @a(
; CHECK-SAME: i32 [[X:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[FOR_BODY_PREHEADER:.*:]]
; CHECK-NEXT: br label %[[FOR_BODY:.*]]
; CHECK: [[FOR_BODY]]:
; CHECK-NEXT: [[CMP:%.*]] = call i1 @b()
; CHECK-NEXT: br i1 [[CMP]], label %[[FOR_BODY]], label %[[FOR_END_LOOPEXIT:.*]]
; CHECK: [[FOR_END_LOOPEXIT]]:
; CHECK-NEXT: [[Y:%.*]] = sdiv i32 10, [[X]]
; CHECK-NEXT: ret i32 [[Y]]
;
for.body.preheader:
%y = sdiv i32 10, %x
br label %for.body
for.body:
%cmp = call i1 @b()
br i1 %cmp, label %for.body, label %for.end.loopexit
for.end.loopexit:
ret i32 %y
}