blob: a9ca45222a5ccb1f6e5320629f64d299c19880f1 [file] [log] [blame]
; REQUIRES: asserts
; RUN: opt -passes=slsr -S -debug-counter=slsr-counter=1 < %s | FileCheck %s
; Test that, with debug counters on, we will skip the first slsr opportunity.
define void @stride_is_2s(i32 %b, i32 %s) {
; CHECK-LABEL: @stride_is_2s(
; CHECK-NEXT: %s2 = shl i32 %s, 1
; CHECK-NEXT: %t1 = add i32 %b, %s2
; CHECK-NEXT: call void @foo(i32 %t1)
; CHECK-NEXT: %s4 = shl i32 %s, 2
; CHECK-NEXT: %t2 = add i32 %b, %s4
; CHECK-NEXT: call void @foo(i32 %t2)
; CHECK-NEXT: ret void
;
%s2 = shl i32 %s, 1
%t1 = add i32 %b, %s2
call void @foo(i32 %t1)
%s4 = shl i32 %s, 2
%t2 = add i32 %b, %s4
call void @foo(i32 %t2)
ret void
}
declare void @foo(i32)