[llvm] Add option to print entire function instead of just the loops for loo… (PR #123229)

Justin Fargnoli via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 14:45:34 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
----------------
justinfargnoli wrote:

The tests would be easier for me to read if they were auto-generated. What are your thoughts on going that route versus sticking with the hand-written checks? 

https://github.com/llvm/llvm-project/pull/123229


More information about the llvm-commits mailing list