Add option to validate after each pass#2462
Conversation
* New command-line option to opt: --validate-after-all * Pass manager will validate after each pass it runs
|
Especially useful when combined with -print-all. |
|
Perhaps the name should be slightly different to clarify that it runs after each pass, not after all passes have run. E.g. |
It was named after the llvm option -print-after-all. I guess we changed that to -print-all, but this option doesn't control the initial validation. Maybe |
|
Ah maybe |
dnovillo
left a comment
There was a problem hiding this comment.
My OCD side says 'should be named -validate-after-each, but we also have -print-after-all meaning something similar, so this is fine. YES, it's fine! Shut up brain.
KhronosGroup/glslang@142cb87...7f6559d $ git log 142cb87..7f6559d --date=short --no-merges --format='%ad %ae %s' 2020-11-16 ShabbyX Compile out code for GL_EXT_shader_image_int64 for ANGLE (KhronosGroup#2463) 2020-11-12 mbechard tweak local_size comparison a bit (KhronosGroup#2456) 2020-11-12 dneto Avoid spuriously adding Geometry capability for vert, tesc, tese (KhronosGroup#2462) 2020-11-12 greg New nonuniform analysis (KhronosGroup#2457) 2020-11-09 jhall1024 Implement GL_EXT_terminate_invocation (KhronosGroup#2454) 2020-11-06 rdb Fix token-pasting macros not working in preprocessor directives. (KhronosGroup#2453) 2020-11-06 laddoc Fix warning in iomapper. (KhronosGroup#2449) 2020-11-04 TobyHector Add GL_EXT_shader_image_int64 support (KhronosGroup#2409) 2020-11-04 laddoc 8. io mapping refine & qualifier member check & resolver expand (KhronosGroup#2396) 2020-11-02 courtneygo Fix build error with Chromium & ANGLE (KhronosGroup#2446) 2020-11-02 dev Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (KhronosGroup#2442) 2020-11-02 justsid Support for CapabilityShaderViewportIndex and CapabilityShaderLayer (KhronosGroup#2432) 2020-11-02 jaebaek Do not use PropagateLineInfoPass and RedundantLineInfoElimPass (KhronosGroup#2440) Created with: roll-dep third_party/glslang Roll third_party/googletest/ 0555b0eac..36d8eb532 (41 commits) google/googletest@0555b0e...36d8eb5 $ git log 0555b0eac..36d8eb532 --date=short --no-merges --format='%ad %ae %s' 2020-11-13 vlee Initialize TestInfo member is_in_another_shard_ in constructor. 2020-11-12 absl-team Googletest export 2020-11-12 absl-team Googletest export 2020-11-12 absl-team Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 absl-team Googletest export 2020-11-06 absl-team Googletest export 2020-11-06 absl-team Googletest export 2020-10-29 knut Only save original working directory if death tests are enabled 2020-11-08 hyuk.myeong fix typos 2020-11-06 absl-team Googletest export 2020-11-05 ofats Googletest export 2020-10-27 absl-team Googletest export 2020-10-27 elliott.brossard Add instructions for sanitizer integration 2020-10-26 absl-team Googletest export 2020-10-20 sonzogniarthur Fix typo "definedin in" => "defined in" 2020-10-15 absl-team Googletest export 2020-10-15 absl-team Googletest export 2020-10-15 dmauro Googletest export 2020-10-14 absl-team Googletest export 2020-10-14 dmauro Googletest export 2020-10-14 dmauro Googletest export 2020-10-14 absl-team Googletest export 2020-10-14 dmauro Googletest export 2020-10-14 absl-team Googletest export 2020-10-13 dmauro Googletest export 2020-10-13 dmauro Googletest export 2020-10-13 absl-team Googletest export 2020-10-13 absl-team Googletest export 2020-10-09 ofats Googletest export 2020-10-12 peternewman Fix a typo 2020-10-07 manavrion Improve FilePath::Normalize method 2020-10-07 pravin1992 Issue 2135: Change template args in NiceMock, NaggyMock and StrictMock from A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files 2020-09-16 hyuk.myeong Remove spaces between Google Test and Google Mock 2020-09-15 hyuk.myeong Add follow-up patch for more natural reading 2020-09-15 hyuk.myeong Apply the reviewed comment 2020-09-15 hyuk.myeong Remove a space 2020-09-15 hyuk.myeong Improve the tutorial that may be confusing 2020-02-17 krystian.kuzniarek remove a duplicated include Created with: roll-dep third_party/googletest Roll third_party/re2/ 166dbbeb3..9e5430536 (2 commits) google/re2@166dbbe...9e54305 $ git log 166dbbeb3..9e5430536 --date=short --no-merges --format='%ad %ae %s' 2020-11-17 junyer Make benchmarks use substrings of a random text buffer. 2020-11-15 twpayne Add note about Go Unicode character classes Created with: roll-dep third_party/re2 Roll third_party/spirv-headers/ 7845730..5ab5c96 (2 commits) KhronosGroup/SPIRV-Headers@7845730...5ab5c96 $ git log 7845730..5ab5c96 --date=short --no-merges --format='%ad %ae %s' 2020-11-04 michael.kinsner Reserve additional loop control bit for Intel extension (NoFusionINTEL) (KhronosGroup#175) 2020-11-02 4464295+XAMPPRocky Add EmbarkStudios/rust-gpu to vendor list. (KhronosGroup#174) Created with: roll-dep third_party/spirv-headers Roll third_party/spirv-tools/ f7da527..671914c (15 commits) KhronosGroup/SPIRV-Tools@f7da527...671914c $ git log f7da527..671914c --date=short --no-merges --format='%ad %ae %s' 2020-11-18 greg Fix buffer oob instrumentation for matrix refs (KhronosGroup#4025) 2020-11-13 afdx spirv-opt: Set parent when adding basic block (KhronosGroup#4021) 2020-11-13 jaebaek spirv-opt: properly preserve DebugValue indexes operand (KhronosGroup#4022) 2020-11-11 dneto Use less stack space when validating Vulkan builtins (KhronosGroup#4019) 2020-11-05 46493288+sfricke-samsung spirv-val: Fix SPV_KHR_fragment_shading_rate VUID label (KhronosGroup#4014) 2020-11-05 46493288+sfricke-samsung spirv-val: Label Layer and ViewportIndex VUIDs (KhronosGroup#4013) 2020-11-05 alanbaker Add dead function elimination to -O (KhronosGroup#4015) 2020-11-04 jaebaek Add DebugValue for invisible store in single_store_elim (KhronosGroup#4002) 2020-11-04 dnovillo Fix SSA re-writing in the presence of variable pointers. (KhronosGroup#4010) 2020-11-04 afdx spirv-fuzz: Fixes to pass management (KhronosGroup#4011) 2020-11-03 afdx spirv-fuzz: Add support for reining in rogue fuzzer passes (KhronosGroup#3987) 2020-11-03 vasniktel spirv-fuzz: Fix assertion failure in FuzzerPassAddCompositeExtract (KhronosGroup#3995) 2020-11-03 vasniktel spirv-fuzz: Fix invalid equation facts (KhronosGroup#4009) 2020-11-03 vasniktel spirv-fuzz: Fix bugs in TransformationFlattenConditionalBranch (KhronosGroup#4006) 2020-11-03 andreperezmaselco.developer spirv-fuzz: Fix bug related to transformation applicability (KhronosGroup#3990) Created with: roll-dep third_party/spirv-tools
Roll third_party/glslang/ 142cb87..c594de2 (18 commits) KhronosGroup/glslang@142cb87...c594de2 $ git log 142cb87..c594de2 --date=short --no-merges --format='%ad %ae %s' 2020-12-07 greg Update spirv-tools known-good #2 - Pick up ray tracing terminator fix (KhronosGroup#2478) 2020-12-03 greg Update spirv-tools known-good (KhronosGroup#2473) 2020-11-30 dgkoch update spirv-headers and fix handling of gl_HitTEXT (KhronosGroup#2471) 2020-11-24 dgkoch Add ray query capability if acceleration structure or ray query types declared (KhronosGroup#2469) 2020-11-23 dgkoch Updates for final Vulkan ray tracing extensions (KhronosGroup#2466) 2020-11-16 ShabbyX Compile out code for GL_EXT_shader_image_int64 for ANGLE (KhronosGroup#2463) 2020-11-12 mbechard tweak local_size comparison a bit (KhronosGroup#2456) 2020-11-12 dneto Avoid spuriously adding Geometry capability for vert, tesc, tese (KhronosGroup#2462) 2020-11-12 greg New nonuniform analysis (KhronosGroup#2457) 2020-11-09 jhall1024 Implement GL_EXT_terminate_invocation (KhronosGroup#2454) 2020-11-06 rdb Fix token-pasting macros not working in preprocessor directives. (KhronosGroup#2453) 2020-11-06 laddoc Fix warning in iomapper. (KhronosGroup#2449) 2020-11-04 TobyHector Add GL_EXT_shader_image_int64 support (KhronosGroup#2409) 2020-11-04 laddoc 8. io mapping refine & qualifier member check & resolver expand (KhronosGroup#2396) 2020-11-02 courtneygo Fix build error with Chromium & ANGLE (KhronosGroup#2446) 2020-11-02 dev Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (KhronosGroup#2442) 2020-11-02 justsid Support for CapabilityShaderViewportIndex and CapabilityShaderLayer (KhronosGroup#2432) 2020-11-02 jaebaek Do not use PropagateLineInfoPass and RedundantLineInfoElimPass (KhronosGroup#2440) Created with: roll-dep third_party/glslang Roll third_party/googletest/ 282877317..e5644f5f1 (35 commits) google/googletest@2828773...e5644f5 $ git log 282877317..e5644f5f1 --date=short --no-merges --format='%ad %ae %s' 2020-12-08 absl-team Googletest export 2020-12-07 absl-team Googletest export 2020-12-07 absl-team Googletest export 2020-12-07 absl-team Googletest export 2020-12-05 paul.malcolm Fix typo in CLI help message 2020-12-03 absl-team Googletest export 2020-12-02 absl-team Googletest export 2020-12-02 absl-team Googletest export 2020-12-01 absl-team Googletest export 2020-11-30 dmauro Googletest export 2020-11-24 absl-team Googletest export 2020-11-23 absl-team Googletest export 2020-11-19 absl-team Googletest export 2020-11-13 vlee Initialize TestInfo member is_in_another_shard_ in constructor. 2020-11-12 absl-team Googletest export 2020-11-12 absl-team Googletest export 2020-11-12 absl-team Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 dmauro Googletest export 2020-11-11 absl-team Googletest export 2020-11-11 marius.brehler Refactor finding python 2020-11-06 absl-team Googletest export 2020-11-06 absl-team Googletest export 2020-10-29 knut Only save original working directory if death tests are enabled 2020-11-08 hyuk.myeong fix typos 2020-11-06 absl-team Googletest export 2020-11-05 ofats Googletest export 2020-10-27 elliott.brossard Add instructions for sanitizer integration 2020-09-16 hyuk.myeong Remove spaces between Google Test and Google Mock 2020-09-15 hyuk.myeong Add follow-up patch for more natural reading 2020-09-15 hyuk.myeong Apply the reviewed comment 2020-09-15 hyuk.myeong Remove a space 2020-09-15 hyuk.myeong Improve the tutorial that may be confusing 2020-02-17 krystian.kuzniarek remove a duplicated include Created with: roll-dep third_party/googletest Roll third_party/re2/ 166dbbeb3..91420e899 (3 commits) google/re2@166dbbe...91420e8 $ git log 166dbbeb3..91420e899 --date=short --no-merges --format='%ad %ae %s' 2020-11-25 junyer Remove a double space from mksyntaxgo for Go folks. 2020-11-17 junyer Make benchmarks use substrings of a random text buffer. 2020-11-15 twpayne Add note about Go Unicode character classes Created with: roll-dep third_party/re2 Roll third_party/spirv-headers/ 7845730..f027d53 (7 commits) KhronosGroup/SPIRV-Headers@7845730...f027d53 $ git log 7845730..f027d53 --date=short --no-merges --format='%ad %ae %s' 2020-11-26 dkoch remove HitTKHR 2020-11-12 dneto MeshShadingNV enables builtins PrimitiveId, Layer, and ViewportIndex 2020-10-16 dkoch de-alias/reassign OpIgnoreIntersectionKHR/OpTerminateRayKHR 2020-06-29 alele Raytracing and Rayquery updates for final 2020-06-15 alele Updated headers for new trace/executeCallable and acceleration structure cast. 2020-11-04 michael.kinsner Reserve additional loop control bit for Intel extension (NoFusionINTEL) (KhronosGroup#175) 2020-11-02 4464295+XAMPPRocky Add EmbarkStudios/rust-gpu to vendor list. (KhronosGroup#174) Created with: roll-dep third_party/spirv-headers Roll third_party/spirv-tools/ f7da527..3b85234 (39 commits) KhronosGroup/SPIRV-Tools@f7da527...3b85234 $ git log f7da527..3b85234 --date=short --no-merges --format='%ad %ae %s' 2020-12-08 46493288+sfricke-samsung spirv-val: Add last TessLevelOuter and TessLevelInner VUID (KhronosGroup#4055) 2020-12-08 46493288+sfricke-samsung spirv-val: Add last ClipDistance and CullDistance VUID (KhronosGroup#4054) 2020-12-08 46493288+sfricke-samsung spirv-val: Add last ViewportIndex and Layer VUID (KhronosGroup#4053) 2020-12-08 46493288+sfricke-samsung spirv-val: Add last Position VUID (KhronosGroup#4052) 2020-12-08 alanbaker Allow forward pointer to be used in types generally (KhronosGroup#4044) 2020-12-07 marijns95 opt: Run DCE when SPV_KHR_shader_clock is used (KhronosGroup#4049) 2020-12-07 dnovillo Update CHANGES to include latest ray tacing fixes. 2020-12-07 ehsannas Take new (raytracing) termination instructions into account. (KhronosGroup#4050) 2020-12-03 dnovillo Start SPIRV-Tools v2020.7 2020-12-03 dnovillo Finalize SPIRV-Tools v2020.6 2020-12-02 dnovillo Update CHANGES 2020-12-02 ehsannas Do run DCE if SPV_KHR_ray_query is used. (KhronosGroup#4047) 2020-12-02 dnovillo Update CHANGES 2020-12-01 greg Change ref_analysis to RefAnalysis to follow coding standards. (KhronosGroup#4045) 2020-12-01 stevenperron Handle 8-bit index in elim dead member (KhronosGroup#4043) 2020-12-01 dgkoch Add validation support for the ray tracing built-in variables (KhronosGroup#4041) 2020-12-01 greg Add texel buffer out-of-bounds checking instrumentation (KhronosGroup#4038) 2020-11-30 dgkoch Update spirv-header deps (KhronosGroup#4040) 2020-11-27 afdx Reject SPIR-V that applies void to OpUndef, OpCopyObject, OpPhi (KhronosGroup#4036) 2020-11-25 dneto BuildModule: optionally avoid adding new OpLine instructions (KhronosGroup#4033) 2020-11-25 dneto Remove prototype for unimplemented method (KhronosGroup#4031) 2020-11-25 afdx spirv-fuzz: Fix facts arising from CompositeConstruct (KhronosGroup#4034) 2020-11-24 afdx spirv-fuzz: Do not flatten conditionals that create synonyms (KhronosGroup#4030) 2020-11-23 dneto Update MeshShadingNV dependencies (and land Ray tracing updates) (KhronosGroup#4028) 2020-11-18 greg Fix buffer oob instrumentation for matrix refs (KhronosGroup#4025) 2020-11-13 afdx spirv-opt: Set parent when adding basic block (KhronosGroup#4021) 2020-11-13 jaebaek spirv-opt: properly preserve DebugValue indexes operand (KhronosGroup#4022) 2020-11-11 dneto Use less stack space when validating Vulkan builtins (KhronosGroup#4019) 2020-11-05 46493288+sfricke-samsung spirv-val: Fix SPV_KHR_fragment_shading_rate VUID label (KhronosGroup#4014) 2020-11-05 46493288+sfricke-samsung spirv-val: Label Layer and ViewportIndex VUIDs (KhronosGroup#4013) 2020-11-05 alanbaker Add dead function elimination to -O (KhronosGroup#4015) 2020-11-04 jaebaek Add DebugValue for invisible store in single_store_elim (KhronosGroup#4002) 2020-11-04 dnovillo Fix SSA re-writing in the presence of variable pointers. (KhronosGroup#4010) 2020-11-04 afdx spirv-fuzz: Fixes to pass management (KhronosGroup#4011) 2020-11-03 afdx spirv-fuzz: Add support for reining in rogue fuzzer passes (KhronosGroup#3987) 2020-11-03 vasniktel spirv-fuzz: Fix assertion failure in FuzzerPassAddCompositeExtract (KhronosGroup#3995) 2020-11-03 vasniktel spirv-fuzz: Fix invalid equation facts (KhronosGroup#4009) 2020-11-03 vasniktel spirv-fuzz: Fix bugs in TransformationFlattenConditionalBranch (KhronosGroup#4006) 2020-11-03 andreperezmaselco.developer spirv-fuzz: Fix bug related to transformation applicability (KhronosGroup#3990) Created with: roll-dep third_party/spirv-tools
Errors look like: