123456789101112131415161718192021222324252627282930 |
- ; REQUIRES: asserts
- ; RUN: opt < %s -S -Os -debug -debug-only=loop-rotate 2>&1 | FileCheck %s -check-prefix=OS
- ; RUN: opt < %s -S -Oz -debug -debug-only=loop-rotate 2>&1 | FileCheck %s -check-prefix=OZ
- ; Loop should be rotated for -Os but not for -Oz.
- ; OS: rotating Loop at depth 1
- ; OZ-NOT: rotating Loop at depth 1
- @e = global i32 10
- declare void @use(i32)
- define void @test() {
- entry:
- %end = load i32, i32* @e
- br label %loop
- loop:
- %n.phi = phi i32 [ %n, %loop.fin ], [ 0, %entry ]
- %cond = icmp eq i32 %n.phi, %end
- br i1 %cond, label %exit, label %loop.fin
- loop.fin:
- %n = add i32 %n.phi, 1
- call void @use(i32 %n)
- br label %loop
- exit:
- ret void
- }
|