
Summary: The code for generating a name for loops for various reporting scenarios created a name by serializing the loop into a string. This may result in a very large name for a loop containing many blocks. Use the getName() function on the loop instead. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: Whitney (Whitney Tsang), aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D133587
37 lines
932 B
LLVM
37 lines
932 B
LLVM
; RUN: opt -disable-output -debug-pass-manager \
|
|
; RUN: -passes='no-op-loop' %s 2>&1 \
|
|
; RUN: | FileCheck %s
|
|
|
|
; @f()
|
|
; / \
|
|
; loop.0 loop.1
|
|
; / \ \
|
|
; loop.0.0 loop.0.1 loop.1.0
|
|
;
|
|
; CHECK: Running pass: NoOpLoopPass on loop.0.0
|
|
; CHECK: Running pass: NoOpLoopPass on loop.0.1
|
|
; CHECK: Running pass: NoOpLoopPass on loop.0
|
|
; CHECK: Running pass: NoOpLoopPass on loop.1.0
|
|
; CHECK: Running pass: NoOpLoopPass on loop.1
|
|
|
|
define void @f() {
|
|
entry:
|
|
br label %loop.0
|
|
loop.0:
|
|
br i1 undef, label %loop.0.0, label %loop.1
|
|
loop.0.0:
|
|
br i1 undef, label %loop.0.0, label %loop.0.1
|
|
loop.0.1:
|
|
br i1 undef, label %loop.0.1, label %loop.0
|
|
loop.1:
|
|
br i1 undef, label %loop.1, label %loop.1.bb1
|
|
loop.1.bb1:
|
|
br i1 undef, label %loop.1, label %loop.1.bb2
|
|
loop.1.bb2:
|
|
br i1 undef, label %end, label %loop.1.0
|
|
loop.1.0:
|
|
br i1 undef, label %loop.1.0, label %loop.1
|
|
end:
|
|
ret void
|
|
}
|