317 lines · plain
1; Simple checks of -print-changed=dot-cfg2;3; Note that (mostly) only the banners are checked.4;5; Simple functionality check.6; RUN: rm -rf %t && mkdir -p %t7; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -dot-cfg-dir=%t < %s -o /dev/null8; RUN: ls %t/*.pdf %t/passes.html | count 59; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-SIMPLE10;11; Check that only the passes that change the IR are printed and that the12; others (including g) are filtered out.13; RUN: rm -rf %t && mkdir -p %t14; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null15; RUN: ls %t/*.pdf %t/passes.html | count 316; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FUNC-FILTER17;18; Check that the reporting of IRs respects is not affected by19; -print-module-scope20; RUN: rm -rf %t && mkdir -p %t21; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -print-module-scope -dot-cfg-dir=%t < %s -o /dev/null22; RUN: ls %t/*.pdf %t/passes.html | count 523; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-PRINT-MOD-SCOPE24;25; Check that reporting of multiple functions happens26; RUN: rm -rf %t && mkdir -p %t27; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes=instsimplify -filter-print-funcs="f,g" -dot-cfg-dir=%t < %s -o /dev/null28; RUN: ls %t/*.pdf %t/passes.html | count 529; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-MULT-FUNC30;31; Check that the reporting of IRs respects -filter-passes32; RUN: rm -rf %t && mkdir -p %t33; 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/null34; RUN: ls %t/*.pdf %t/passes.html | count 335; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-PASSES36;37; Check that the reporting of IRs respects -filter-passes with multiple passes38; RUN: rm -rf %t && mkdir -p %t39; 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/null40; RUN: ls %t/*.pdf %t/passes.html | count 541; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-MULT-PASSES42;43; Check that the reporting of IRs respects both -filter-passes and -filter-print-funcs44; RUN: rm -rf %t && mkdir -p %t45; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null46; RUN: ls %t/*.pdf %t/passes.html | count 347; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-FILTER-FUNC-PASSES48;49; Check that repeated passes that change the IR are printed and that the50; others (including g) are filtered out. Note that only the first time51; instsimplify is run on f will result in changes52; RUN: rm -rf %t && mkdir -p %t53; RUN: opt -disable-verify -S -print-changed=dot-cfg -passes="instsimplify,instsimplify" -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null54; RUN: ls %t/*.pdf %t/passes.html | count 355; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC56;57; Simple checks of -print-changed=dot-cfg-quiet58;59; Note that (mostly) only the banners are checked.60;61; Simple functionality check.62; RUN: rm -rf %t && mkdir -p %t63; RUN: opt -S -print-changed=dot-cfg-quiet -passes=instsimplify -dot-cfg-dir=%t < %s -o /dev/null64; RUN: ls %t/*.pdf %t/passes.html | count 365; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-SIMPLE --allow-empty66;67; Check that only the passes that change the IR are printed and that the68; others (including g) are filtered out.69; RUN: rm -rf %t && mkdir -p %t70; RUN: opt -S -print-changed=dot-cfg-quiet -passes=instsimplify -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null71; RUN: ls %t/*.pdf %t/passes.html | count 272; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-FUNC-FILTER73;74; Check that the reporting of IRs respects is not affected by75; -print-module-scope76; RUN: rm -rf %t && mkdir -p %t77; RUN: opt -S -print-changed=dot-cfg-quiet -passes=instsimplify -print-module-scope -dot-cfg-dir=%t < %s -o /dev/null78; RUN: ls %t/*.pdf %t/passes.html | count 379; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE80;81; Check that reporting of multiple functions happens82; RUN: rm -rf %t && mkdir -p %t83; RUN: opt -S -print-changed=dot-cfg-quiet -passes=instsimplify -filter-print-funcs="f,g" -dot-cfg-dir=%t < %s -o /dev/null84; RUN: ls %t/*.pdf %t/passes.html | count 385; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-FILTER-MULT-FUNC86;87; Check that the reporting of IRs respects -filter-passes88; RUN: rm -rf %t && mkdir -p %t89; RUN: opt -S -print-changed=dot-cfg-quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function" -dot-cfg-dir=%t < %s -o /dev/null90; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-FILTER-PASSES-NONE --allow-empty91;92; Check that the reporting of IRs respects -filter-passes with multiple passes93; RUN: rm -rf %t && mkdir -p %t94; RUN: opt -S -print-changed=dot-cfg-quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -dot-cfg-dir=%t < %s -o /dev/null95; RUN: ls %t/*.pdf %t/passes.html | count 396; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-FILTER-MULT-PASSES97;98; Check that the reporting of IRs respects both -filter-passes and -filter-print-funcs99; RUN: rm -rf %t && mkdir -p %t100; RUN: opt -S -print-changed=dot-cfg-quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null101; RUN: ls %t/*.pdf %t/passes.html | count 2102; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-FILTER-FUNC-PASSES103;104; Check that repeated passes that change the IR are printed and that the105; others (including g) are filtered out. Note that only the first time106; instsimplify is run on f will result in changes107; RUN: rm -rf %t && mkdir -p %t108; RUN: opt -S -print-changed=dot-cfg-quiet -passes="instsimplify,instsimplify" -filter-print-funcs=f -dot-cfg-dir=%t < %s -o /dev/null109; RUN: ls %t/*.pdf %t/passes.html | count 2110; RUN: FileCheck %s -input-file=%t/passes.html --check-prefix=CHECK-DOT-CFG-QUIET-MULT-PASSES-FILTER-FUNC111 112define i32 @g() {113entry:114 %a = add i32 2, 3115 ret i32 %a116}117 118define i32 @f() {119entry:120 %a = add i32 2, 3121 ret i32 %a122}123 124; CHECK-DOT-CFG-SIMPLE-FILES: passes.html diff_0.pdf diff_1.pdf diff_3.pdf125; CHECK-DOT-CFG-SIMPLE: <!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>126; CHECK-DOT-CFG-SIMPLE-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>127; CHECK-DOT-CFG-SIMPLE-NEXT: <div class="content">128; CHECK-DOT-CFG-SIMPLE-NEXT: <p>129; CHECK-DOT-CFG-SIMPLE-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>130; CHECK-DOT-CFG-SIMPLE-NEXT: <a href="diff_0_1.pdf" target="_blank">0.1. Initial IR</a><br/>131; CHECK-DOT-CFG-SIMPLE-NEXT: </p>132; CHECK-DOT-CFG-SIMPLE-NEXT: </div><br/>133; CHECK-DOT-CFG-SIMPLE-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>134; CHECK-DOT-CFG-SIMPLE-NEXT: </p></div>135; CHECK-DOT-CFG-SIMPLE-NEXT: <a>2. PassManager{{.*}} on g ignored</a><br/>136; CHECK-DOT-CFG-SIMPLE-NEXT: <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>137; CHECK-DOT-CFG-SIMPLE-NEXT: </p></div>138; CHECK-DOT-CFG-SIMPLE-NEXT: <a>4. PassManager{{.*}} on f ignored</a><br/>139; CHECK-DOT-CFG-SIMPLE-NEXT: <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>140; CHECK-DOT-CFG-SIMPLE-NEXT: <a>6. PrintModulePass on [module] ignored</a><br/>141; 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>142 143; 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>144; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>145; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <div class="content">146; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <p>147; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>148; CHECK-DOT-CFG-FUNC-FILTER-NEXT: </p>149; CHECK-DOT-CFG-FUNC-FILTER-NEXT: </div><br/>150; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>1. Pass InstSimplifyPass on g filtered out</a><br/>151; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>2. PassManager{{.*}} on g ignored</a><br/>152; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>153; CHECK-DOT-CFG-FUNC-FILTER-NEXT: </p></div>154; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>4. PassManager{{.*}} on f ignored</a><br/>155; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>156; CHECK-DOT-CFG-FUNC-FILTER-NEXT: <a>6. PrintModulePass on [module] ignored</a><br/>157; 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>158 159; CHECK-DOT-CFG-PRINT-MOD-SCOPE: <!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>160; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>161; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <div class="content">162; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <p>163; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>164; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a href="diff_0_1.pdf" target="_blank">0.1. Initial IR</a><br/>165; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: </p>166; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: </div><br/>167; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>168; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: </p></div>169; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a>2. PassManager{{.*}} on g ignored</a><br/>170; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>171; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: </p></div>172; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a>4. PassManager{{.*}} on f ignored</a><br/>173; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>174; CHECK-DOT-CFG-PRINT-MOD-SCOPE-NEXT: <a>6. PrintModulePass on [module] ignored</a><br/>175; 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>176 177; CHECK-DOT-CFG-FILTER-MULT-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>178; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>179; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <div class="content">180; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <p>181; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>182; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a href="diff_0_1.pdf" target="_blank">0.1. Initial IR</a><br/>183; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: </p>184; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: </div><br/>185; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>186; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: </p></div>187; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a>2. PassManager{{.*}} on g ignored</a><br/>188; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a href="diff_3.pdf" target="_blank">3. Pass InstSimplifyPass on f</a><br/>189; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: </p></div>190; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a>4. PassManager{{.*}} on f ignored</a><br/>191; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a>5. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>192; CHECK-DOT-CFG-FILTER-MULT-FUNC-NEXT: <a>6. PrintModulePass on [module] ignored</a><br/>193; 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>194 195; 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>196; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <body><button type="button" class="collapsible">0. Initial IR (by function)</button>197; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <div class="content">198; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <p>199; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>200; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a href="diff_0_1.pdf" target="_blank">0.1. Initial IR</a><br/>201; CHECK-DOT-CFG-FILTER-PASSES-NEXT: </p>202; CHECK-DOT-CFG-FILTER-PASSES-NEXT: </div><br/>203; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>1. Pass InstSimplifyPass on g filtered out</a><br/>204; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>2. Pass NoOpFunctionPass on g omitted because no change</a><br/>205; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>3. PassManager{{.*}} on g ignored</a><br/>206; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>4. Pass InstSimplifyPass on f filtered out</a><br/>207; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>208; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>6. PassManager{{.*}} on f ignored</a><br/>209; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>210; CHECK-DOT-CFG-FILTER-PASSES-NEXT: <a>8. PrintModulePass on [module] ignored</a><br/>211; 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>212 213 214 215; CHECK-DOT-CFG-FILTER-MULT-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>216; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>217; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <div class="content">218; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <p>219; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>220; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a href="diff_0_1.pdf" target="_blank">0.1. Initial IR</a><br/>221; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: </p>222; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: </div><br/>223; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on g</a><br/>224; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: </p></div>225; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>2. Pass NoOpFunctionPass on g omitted because no change</a><br/>226; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>3. PassManager{{.*}} on g ignored</a><br/>227; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a href="diff_4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>228; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: </p></div>229; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>230; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>6. PassManager{{.*}} on f ignored</a><br/>231; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>232; CHECK-DOT-CFG-FILTER-MULT-PASSES-NEXT: <a>8. PrintModulePass on [module] ignored</a><br/>233; 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>234 235; 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>236; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>237; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <div class="content">238; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <p>239; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>240; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: </p>241; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: </div><br/>242; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>1. Pass InstSimplifyPass on g filtered out</a><br/>243; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>2. Pass NoOpFunctionPass on g filtered out</a><br/>244; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>3. PassManager{{.*}} on g ignored</a><br/>245; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a href="diff_4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>246; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: </p></div>247; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>5. Pass NoOpFunctionPass on f omitted because no change</a><br/>248; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>6. PassManager{{.*}} on f ignored</a><br/>249; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>250; CHECK-DOT-CFG-FILTER-FUNC-PASSES-NEXT: <a>8. PrintModulePass on [module] ignored</a><br/>251; 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>252 253 254; 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>255; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <button type="button" class="collapsible">0. Initial IR (by function)</button>256; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <div class="content">257; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <p>258; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a href="diff_0_0.pdf" target="_blank">0.0. Initial IR</a><br/>259; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: </p>260; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: </div><br/>261; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>1. Pass InstSimplifyPass on g filtered out</a><br/>262; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>2. Pass InstSimplifyPass on g filtered out</a><br/>263; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>3. PassManager{{.*}} on g ignored</a><br/>264; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a href="diff_4.pdf" target="_blank">4. Pass InstSimplifyPass on f</a><br/>265; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: </p></div>266; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>5. Pass InstSimplifyPass on f omitted because no change</a><br/>267; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>6. PassManager{{.*}} on f ignored</a><br/>268; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>7. ModuleToFunctionPassAdaptor on [module] ignored</a><br/>269; CHECK-DOT-CFG-MULT-PASSES-FILTER-FUNC-NEXT: <a>8. PrintModulePass on [module] ignored</a><br/>270; 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>271 272; CHECK-DOT-CFG-QUIET-SIMPLE: <!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>273; CHECK-DOT-CFG-QUIET-SIMPLE-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on g</a><br/>274; CHECK-DOT-CFG-QUIET-SIMPLE-NEXT: </p></div>275; CHECK-DOT-CFG-QUIET-SIMPLE-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on f</a><br/>276; CHECK-DOT-CFG-QUIET-SIMPLE-NEXT: </p></div>277; CHECK-DOT-CFG-QUIET-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>278 279; CHECK-DOT-CFG-QUIET-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>280; CHECK-DOT-CFG-QUIET-FUNC-FILTER-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on f</a><br/>281; CHECK-DOT-CFG-QUIET-FUNC-FILTER-NEXT: </p></div>282; CHECK-DOT-CFG-QUIET-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>283 284; CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE: <!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>285; CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on g</a><br/>286; CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE-NEXT: </p></div>287; CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on f</a><br/>288; CHECK-DOT-CFG-QUIET-PRINT-MOD-SCOPE-NEXT: </p></div>289; CHECK-DOT-CFG-QUIET-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>290 291; CHECK-DOT-CFG-QUIET-FILTER-MULT-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>292; CHECK-DOT-CFG-QUIET-FILTER-MULT-FUNC-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on g</a><br/>293; CHECK-DOT-CFG-QUIET-FILTER-MULT-FUNC-NEXT: </p></div>294; CHECK-DOT-CFG-QUIET-FILTER-MULT-FUNC-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on f</a><br/>295; CHECK-DOT-CFG-QUIET-FILTER-MULT-FUNC-NEXT: </p></div>296; CHECK-DOT-CFG-QUIET-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>297 298; CHECK-DOT-CFG-QUIET-FILTER-PASSES-NONE: <!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>299; CHECK-DOT-CFG-QUIET-FILTER-PASSES-NONE-NEXT: <body><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>300 301; CHECK-DOT-CFG-QUIET-FILTER-MULT-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>302; CHECK-DOT-CFG-QUIET-FILTER-MULT-PASSES-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on g</a><br/>303; CHECK-DOT-CFG-QUIET-FILTER-MULT-PASSES-NEXT: </p></div>304; CHECK-DOT-CFG-QUIET-FILTER-MULT-PASSES-NEXT: <a href="diff_1.pdf" target="_blank">1. Pass InstSimplifyPass on f</a><br/>305; CHECK-DOT-CFG-QUIET-FILTER-MULT-PASSES-NEXT: </p></div>306; CHECK-DOT-CFG-QUIET-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>307 308; CHECK-DOT-CFG-QUIET-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>309; CHECK-DOT-CFG-QUIET-FILTER-FUNC-PASSES-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on f</a><br/>310; CHECK-DOT-CFG-QUIET-FILTER-FUNC-PASSES-NEXT: </p></div>311; CHECK-DOT-CFG-QUIET-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>312 313; CHECK-DOT-CFG-QUIET-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>314; CHECK-DOT-CFG-QUIET-MULT-PASSES-FILTER-FUNC-NEXT: <body> <a href="diff_0.pdf" target="_blank">0. Pass InstSimplifyPass on f</a><br/>315; CHECK-DOT-CFG-QUIET-MULT-PASSES-FILTER-FUNC-NEXT: </p></div>316; CHECK-DOT-CFG-QUIET-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>317