[llvm-dev] Completeness of -print-after-all

Markus Lavin via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 8 01:37:47 PST 2018


Hi,

I recently worked on an issue where I realized that -print-after-all does not
cover all passes run by the pass manager. E.g. it seems that loop passes are
not fully covered and I could find that loop transformations showed up in the
dump of the next non-loop pass (which happened to be 'Combine redundant
instructions' and that was rather confusing).

Specifying both -print-before-all and -print-after-all and doing some grepping
gives me the following where we see two back-to-back 'Before' dumps which
should not be possible.

*** IR Dump Before LCSSA Verifier ***
*** IR Dump After LCSSA Verifier ***
*** IR Dump Before Loop-Closed SSA Form Pass ***
*** IR Dump After Loop-Closed SSA Form Pass ***
*** IR Dump Before Unroll loops ***
*** IR Dump Before Combine redundant instructions ***
*** IR Dump After Combine redundant instructions ***

Maybe there are good reasons for making this hard to fix but to me it seems
like a rather severe deficiency so I wonder if this is widely known and if there
are any plans to improve it?

-Markus



More information about the llvm-dev mailing list