[llvm] Add option to print entire function instead of just the loops for loo… (PR #123229)
Akshay Deodhar via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 16 14:58:04 PST 2025
================
@@ -0,0 +1,82 @@
+; This test documents how the IR dumped for loop passes differs with -print-loop-func-scope
+; and -print-module-scope
+; - Without -print-loop-func-scope, dumps only the loop, with 3 sections- preheader,
+; loop, and exit blocks
+; - With -print-loop-func-scope, dumps only the function which contains the loop
+; - With -print-module-scope, dumps the entire module containing the loop, and disregards
+; the -print-loop-func-scope flag.
+
+; RUN: opt < %s 2>&1 -disable-output \
+; RUN: -passes=licm -print-after=licm\
+; RUN: | FileCheck %s -check-prefix=VANILLA
+; RUN: opt < %s 2>&1 -disable-output \
+; RUN: -passes=licm -print-after=licm -print-loop-func-scope \
+; RUN: | FileCheck %s -check-prefix=LOOPFUNC
+; RUN: opt < %s 2>&1 -disable-output \
+; RUN: -passes=licm -print-after=licm -print-module-scope \
+; RUN: | FileCheck %s -check-prefix=MODULE
+; RUN: opt < %s 2>&1 -disable-output \
+; RUN: -passes=licm -print-after=licm -print-module-scope -print-loop-func-scope\
+; RUN: | FileCheck %s -check-prefix=MODULEWITHLOOP
+
+; VANILLA: IR Dump After LICMPass
+; VANILLA-NOT: define void @foo
+; VANILLA: Preheader:
+; VANILLA: Loop:
+; VANILLA: Exit blocks
+
+; LOOPFUNC: IR Dump After LICMPass
+; LOOPFUNC: (loop:
+; LOOPFUNC: define void @foo
+; LOOPFUNC-NOT: Preheader:
+; LOOPFUNC-NOT: Loop:
+; LOOPFUNC-NOT: Exit blocks
+
+; MODULE: IR Dump After LICMPass
+; MODULE: ModuleID =
+; MODULE: define void @foo
+; MODULE-NOT: Preheader:
+; MODULE-NOT: Loop:
+; MODULE-NOT: Exit blocks
+; MODULE: define void @bar
+
+; MODULEWITHLOOP: IR Dump After LICMPass
+; MODULEWITHLOOP: ModuleID =
+; MODULEWITHLOOP: define void @foo
+; MODULEWITHLOOP-NOT: Preheader:
+; MODULEWITHLOOP-NOT: Loop:
+; MODULEWITHLOOP-NOT: Exit blocks
+; MODULEWITHLOOP: define void @bar
+
+
+
+define void @foo(i32 %0, i32 %1, i32* %2) {
----------------
akshayrdeodhar wrote:
Updated the test, removed the fluff.
https://github.com/llvm/llvm-project/pull/123229
More information about the llvm-commits
mailing list