[llvm] 0cd3097 - [StandardInstrumentations] Handle initial IR before checking if IR is interesting

Arthur Eubanks via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 09:29:01 PST 2022


Author: Arthur Eubanks
Date: 2022-12-13T09:21:56-08:00
New Revision: 0cd3097b3ab14352bb42015f68655b716b092e69

URL: https://github.com/llvm/llvm-project/commit/0cd3097b3ab14352bb42015f68655b716b092e69
DIFF: https://github.com/llvm/llvm-project/commit/0cd3097b3ab14352bb42015f68655b716b092e69.diff

LOG: [StandardInstrumentations] Handle initial IR before checking if IR is interesting

Otherwise we end up in situations where we print thre initial IR after we've already printed some changed IR.

Reviewed By: jamieschmeiser

Differential Revision: https://reviews.llvm.org/D139898

Added: 
    

Modified: 
    llvm/lib/Passes/StandardInstrumentations.cpp
    llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
    llvm/test/Other/ChangePrinters/print-changed-diff.ll
    llvm/test/Other/change-printer.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Passes/StandardInstrumentations.cpp b/llvm/lib/Passes/StandardInstrumentations.cpp
index fa11bce600ad9..0ebf14fd6c975 100644
--- a/llvm/lib/Passes/StandardInstrumentations.cpp
+++ b/llvm/lib/Passes/StandardInstrumentations.cpp
@@ -346,6 +346,13 @@ template <typename T> ChangeReporter<T>::~ChangeReporter() {
 template <typename T>
 void ChangeReporter<T>::saveIRBeforePass(Any IR, StringRef PassID,
                                          StringRef PassName) {
+  // Is this the initial IR?
+  if (InitialIR) {
+    InitialIR = false;
+    if (VerboseMode)
+      handleInitialIR(IR);
+  }
+
   // Always need to place something on the stack because invalidated passes
   // are not given the IR so it cannot be determined whether the pass was for
   // something that was filtered out.
@@ -353,12 +360,6 @@ void ChangeReporter<T>::saveIRBeforePass(Any IR, StringRef PassID,
 
   if (!isInteresting(IR, PassID, PassName))
     return;
-  // Is this the initial IR?
-  if (InitialIR) {
-    InitialIR = false;
-    if (VerboseMode)
-      handleInitialIR(IR);
-  }
 
   // Save the IR representation on the stack.
   T &Data = BeforeStack.back();

diff  --git a/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll b/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
index 90592ca02ed14..f2adbab921bf5 100644
--- a/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
+++ b/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
@@ -5,7 +5,7 @@
 ; Simple functionality check.
 ; RUN: rm -rf %t && mkdir -p %t
 ; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -dot-cfg-dir=%t < %s -o /dev/null
-; RUN: ls %t/*.pdf %t/passes.html | count 4
+; RUN: ls %t/*.pdf %t/passes.html | count 5
 ; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-SIMPLE
 ;
 ; Check that only the passes that change the IR are printed and that the
@@ -19,25 +19,25 @@
 ; -print-module-scope
 ; RUN: rm -rf %t && mkdir -p %t
 ; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -print-module-scope -dot-cfg-dir=%t < %s -o /dev/null
-; RUN: ls %t/*.pdf %t/passes.html | count 4
+; RUN: ls %t/*.pdf %t/passes.html | count 5
 ; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-PRINT-MOD-SCOPE
 ;
 ; Check that reporting of multiple functions happens
 ; RUN: rm -rf %t && mkdir -p %t
 ; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -filter-print-funcs="f,g" -dot-cfg-dir=%t < %s -o /dev/null
-; RUN: ls %t/*.pdf %t/passes.html | count 4
+; RUN: ls %t/*.pdf %t/passes.html | count 5
 ; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-MULT-FUNC
 ;
 ; Check that the reporting of IRs respects -filter-passes
 ; RUN: rm -rf %t && mkdir -p %t
 ; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes="instsimplify,no-op-function" -filter-passes="no-op-function" -dot-cfg-dir=%t < %s -o /dev/null
-; RUN: ls %t/*.pdf %t/passes.html | count 2
+; RUN: ls %t/*.pdf %t/passes.html | count 3
 ; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-PASSES
 ;
 ; Check that the reporting of IRs respects -filter-passes with multiple passes
 ; RUN: rm -rf %t && mkdir -p %t
 ; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -dot-cfg-dir=%t < %s -o /dev/null
-; RUN: ls %t/*.pdf %t/passes.html | count 4
+; RUN: ls %t/*.pdf %t/passes.html | count 5
 ; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-MULT-PASSES
 ;
 ; Check that the reporting of IRs respects both -filter-passes and -filter-print-funcs
@@ -126,7 +126,8 @@ entry:
 ; CHECK-DOT-CFG-SIMPLE-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-SIMPLE-NEXT: <div class="content">
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   <p>
-; CHECK-DOT-CFG-SIMPLE-NEXT:   <a href="
diff _0.pdf" target="_blank">0. Initial IR</a><br/>
+; CHECK-DOT-CFG-SIMPLE-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
+; CHECK-DOT-CFG-SIMPLE-NEXT:   <a href="
diff _0_1.pdf" target="_blank">0.1. Initial IR</a><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   </p>
 ; CHECK-DOT-CFG-SIMPLE-NEXT: </div><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   <a href="
diff _1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>
@@ -140,14 +141,14 @@ entry:
 ; CHECK-DOT-CFG-SIMPLE-NEXT: <script>var coll = document.getElementsByClassName("collapsible");var i;for (i = 0; i < coll.length; i++) {coll[i].addEventListener("click", function() { this.classList.toggle("active"); var content = this.nextElementSibling; if (content.style.display === "block"){ content.style.display = "none"; } else { content.style.display= "block"; } }); }</script></body></html>
 
 ; CHECK-DOT-CFG-FUNC-FILTER: <!doctype html><html><head><style>.collapsible { background-color: #777; color: white; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 15px;} .active, .collapsible:hover { background-color: #555;} .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1;}</style><title>passes.html</title></head>
-; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <body>  <a>0. Pass InstSimplifyPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>1. PassManager{{.*}} on g ignored</a><br/>
-; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>
+; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <div class="content">
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <p>
-; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a href="
diff _2.pdf" target="_blank">2. Initial IR</a><br/>
+; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   </p>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT: </div><br/>
+; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>1. Pass InstSimplifyPass on g filtered out</a><br/>
+; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a href="
diff _3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:     </p></div>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>4. PassManager{{.*}} on f ignored</a><br/>
@@ -159,7 +160,8 @@ entry:
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <div class="content">
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <p>
-; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a href="
diff _0.pdf" target="_blank">0. Initial IR</a><br/>
+; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
+; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a href="
diff _0_1.pdf" target="_blank">0.1. Initial IR</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   </p>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: </div><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a href="
diff _1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>
@@ -176,7 +178,8 @@ entry:
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <div class="content">
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <p>
-; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a href="
diff _0.pdf" target="_blank">0. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a href="
diff _0_1.pdf" target="_blank">0.1. Initial IR</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   </p>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: </div><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a href="
diff _1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>
@@ -190,13 +193,14 @@ entry:
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <script>var coll = document.getElementsByClassName("collapsible");var i;for (i = 0; i < coll.length; i++) {coll[i].addEventListener("click", function() { this.classList.toggle("active"); var content = this.nextElementSibling; if (content.style.display === "block"){ content.style.display = "none"; } else { content.style.display= "block"; } }); }</script></body></html>
 
 ; CHECK-DOT-CFG-FILTER-PASSES: <!doctype html><html><head><style>.collapsible { background-color: #777; color: white; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 15px;} .active, .collapsible:hover { background-color: #555;} .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1;}</style><title>passes.html</title></head>
-; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <body>  <a>0. Pass InstSimplifyPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>
+; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <div class="content">
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <p>
-; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a href="
diff _1.pdf" target="_blank">1. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a href="
diff _0_1.pdf" target="_blank">0.1. Initial IR</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   </p>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT: </div><br/>
+; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>1. Pass InstSimplifyPass on g filtered out</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>2. Pass NoOpFunctionPass on g omitted because no change</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>3. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>4. Pass InstSimplifyPass on f filtered out</a><br/>
@@ -212,7 +216,8 @@ entry:
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <div class="content">
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <p>
-; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="
diff _0.pdf" target="_blank">0. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="
diff _0_1.pdf" target="_blank">0.1. Initial IR</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   </p>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: </div><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="
diff _1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>
@@ -228,15 +233,15 @@ entry:
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <script>var coll = document.getElementsByClassName("collapsible");var i;for (i = 0; i < coll.length; i++) {coll[i].addEventListener("click", function() { this.classList.toggle("active"); var content = this.nextElementSibling; if (content.style.display === "block"){ content.style.display = "none"; } else { content.style.display= "block"; } }); }</script></body></html>
 
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES: <!doctype html><html><head><style>.collapsible { background-color: #777; color: white; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 15px;} .active, .collapsible:hover { background-color: #555;} .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1;}</style><title>passes.html</title></head>
-; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <body>  <a>0. Pass InstSimplifyPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>1. Pass NoOpFunctionPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <div class="content">
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <p>
-; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a href="
diff _3.pdf" target="_blank">3. Initial IR</a><br/>
+; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   </p>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: </div><br/>
+; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>1. Pass InstSimplifyPass on g filtered out</a><br/>
+; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>2. Pass NoOpFunctionPass on g filtered out</a><br/>
+; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>3. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a href="
diff _4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:     </p></div>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>
@@ -247,15 +252,15 @@ entry:
 
 
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC: <!doctype html><html><head><style>.collapsible { background-color: #777; color: white; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 15px;} .active, .collapsible:hover { background-color: #555;} .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1;}</style><title>passes.html</title></head>
-; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <body>  <a>0. Pass InstSimplifyPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>1. Pass InstSimplifyPass on g filtered out</a><br/>
-; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <div class="content">
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <p>
-; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a href="
diff _3.pdf" target="_blank">3. Initial IR</a><br/>
+; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a href="
diff _0_0.pdf" target="_blank">0.0. Initial IR</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   </p>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: </div><br/>
+; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>1. Pass InstSimplifyPass on g filtered out</a><br/>
+; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>2. Pass InstSimplifyPass on g filtered out</a><br/>
+; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>3. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a href="
diff _4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:     </p></div>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>5. Pass InstSimplifyPass on f omitted because no change</a><br/>

diff  --git a/llvm/test/Other/ChangePrinters/print-changed-
diff .ll b/llvm/test/Other/ChangePrinters/print-changed-
diff .ll
index ce9afc726ed79..0eb84c79f956e 100644
--- a/llvm/test/Other/ChangePrinters/print-changed-
diff .ll
+++ b/llvm/test/Other/ChangePrinters/print-changed-
diff .ll
@@ -212,8 +212,8 @@ entry:
 ; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass on [module] omitted because no change ***
 ; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass on [module] omitted because no change ***
 
-; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-DIFF-FILTER-PASSES: *** IR Dump At Start ***
+; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change ***
 ; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out ***
 ; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
@@ -234,9 +234,9 @@ entry:
 ; CHECK-DIFF-FILTER-MULT-PASSES:+  ret i32 5
 ; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
 
+; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump At Start ***
 ; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out ***
-; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump At Start ***
 ; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f ***
 ; CHECK-DIFF-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}}
 ; CHECK-DIFF-FILTER-FUNC-PASSES: entry:
@@ -425,8 +425,8 @@ entry:
 ; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass on [module] omitted because no change ***
 ; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass on [module] omitted because no change ***
 
-; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-CDIFF-FILTER-PASSES: *** IR Dump At Start ***
+; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change ***
 ; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out ***
 ; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
@@ -447,9 +447,9 @@ entry:
 ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[32m\+}}  ret i32 5{{.\[0m}}
 ; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
 
+; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump At Start ***
 ; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out ***
-; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump At Start ***
 ; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f ***
 ; CHECK-CDIFF-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}}
 ; CHECK-CDIFF-FILTER-FUNC-PASSES: entry:

diff  --git a/llvm/test/Other/change-printer.ll b/llvm/test/Other/change-printer.ll
index 840a911222f4d..7c89ab19670ce 100644
--- a/llvm/test/Other/change-printer.ll
+++ b/llvm/test/Other/change-printer.ll
@@ -147,9 +147,9 @@ entry:
 ; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f ***
 ; CHECK-FILTER-MULT-FUNC-NEXT: define i32 @f()
 
-; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-FILTER-PASSES: *** IR Dump At Start ***
 ; CHECK-FILTER-PASSES-NEXT: ; ModuleID = {{.+}}
+; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
 ; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change ***
 ; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out ***
 ; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
@@ -163,18 +163,18 @@ entry:
 ; CHECK-FILTER-MULT-PASSES-NEXT: define i32 @f()
 ; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
 
-; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
-; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out ***
 ; CHECK-FILTER-FUNC-PASSES: *** IR Dump At Start ***
 ; CHECK-FILTER-FUNC-PASSES-NEXT: ; ModuleID = {{.+}}
+; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
+; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out ***
 ; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f ***
 ; CHECK-FILTER-FUNC-PASSES-NEXT: define i32 @f()
 ; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
 
-; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out ***
-; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on g filtered out ***
 ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump At Start ***
 ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ; ModuleID = {{.+}}
+; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out ***
+; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on g filtered out ***
 ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
 ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ModuleID = {{.+}}
 ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on f omitted because no change ***


        


More information about the llvm-commits mailing list