diff --git a/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll b/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
--- a/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
+++ b/llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
@@ -131,17 +131,17 @@
 ; 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/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:     </p></div>
-; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>2. PassManager&lt;llvm::Function&gt; on g ignored</a><br/>
+; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:     </p></div>
-; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>4. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>4. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-SIMPLE-NEXT:   <a>6. Pass PrintModulePass on [module] omitted because no change</a><br/>
 ; 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&lt;llvm::Function&gt; on g ignored</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: <div class="content">
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <p>
@@ -150,7 +150,7 @@
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT: </div><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&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>4. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-NEXT:   <a>6. Pass PrintModulePass on [module] omitted because no change</a><br/>
 ; CHECK-DOT-CFG-FUNC-FILTER-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>
@@ -164,10 +164,10 @@
 ; 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/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:     </p></div>
-; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>2. PassManager&lt;llvm::Function&gt; on g ignored</a><br/>
+; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:     </p></div>
-; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>4. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>4. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT:   <a>6. Pass PrintModulePass on [module] omitted because no change</a><br/>
 ; CHECK-DOT-CFG-PRINT-MOD-SCOPE-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>
@@ -181,10 +181,10 @@
 ; 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/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:     </p></div>
-; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>2. PassManager&lt;llvm::Function&gt; on g ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>2. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:     </p></div>
-; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>4. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>4. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT:   <a>6. Pass PrintModulePass on [module] omitted because no change</a><br/>
 ; 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>
@@ -198,10 +198,10 @@
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   </p>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT: </div><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&lt;llvm::Function&gt; on g ignored</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/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>
-; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>6. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>6. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-PASSES-NEXT:   <a>8. Pass PrintModulePass on [module] filtered out</a><br/>
 ; CHECK-DOT-CFG-FILTER-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>
@@ -218,11 +218,11 @@
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:     </p></div>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>2. Pass NoOpFunctionPass on g omitted because no change</a><br/>
-; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>3. PassManager&lt;llvm::Function&gt; on g ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>3. PassManager{{.*}} on g ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a href="diff_4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:     </p></div>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>
-; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>6. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>6. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT:   <a>8. Pass PrintModulePass on [module] filtered out</a><br/>
 ; 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>
@@ -230,7 +230,7 @@
 ; 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&lt;llvm::Function&gt; on g ignored</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>
@@ -240,7 +240,7 @@
 ; 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/>
-; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>6. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>6. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT:   <a>8. Pass PrintModulePass on [module] filtered out</a><br/>
 ; CHECK-DOT-CFG-FILTER-FUNC-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>
@@ -249,7 +249,7 @@
 ; 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&lt;llvm::Function&gt; on g ignored</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>
@@ -259,7 +259,7 @@
 ; 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/>
-; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>6. PassManager&lt;llvm::Function&gt; on f ignored</a><br/>
+; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>6. PassManager{{.*}} on f ignored</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT:   <a>8. Pass PrintModulePass on [module] omitted because no change</a><br/>
 ; CHECK-DOT-CFG-MULT-PASSES-FILTER-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>