Skip to content

Fix reachability in the validator#3541

Merged
alan-baker merged 2 commits intoKhronosGroup:masterfrom
alan-baker:val-reachability
Jul 16, 2020
Merged

Fix reachability in the validator#3541
alan-baker merged 2 commits intoKhronosGroup:masterfrom
alan-baker:val-reachability

Conversation

@alan-baker
Copy link
Copy Markdown
Contributor

Fixes #3529

  • Make BasicBlock::reachable() only consider static reachability
  • Fix reachability calculation to be independent of block order
  • add tests

Also tested against CTS.

Fixes KhronosGroup#3529

* Make BasicBlock::reachable() only consider static reachability
* Fix reachability calculation to be independent of block order
* add tests
@alan-baker alan-baker requested a review from dneto0 July 15, 2020 18:55
Copy link
Copy Markdown
Collaborator

@dneto0 dneto0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nit to fix a comment.

@@ -98,8 +98,7 @@ class Function {
///
/// @param[in] successors_list A list of ids to the block's successors
/// @param[in] branch_instruction the branch instruction that ended the block
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Delete the branch_instruction comment too.

@alan-baker alan-baker merged commit 7221ccf into KhronosGroup:master Jul 16, 2020
@alan-baker alan-baker deleted the val-reachability branch July 16, 2020 01:27
dnovillo pushed a commit to dnovillo/SPIRV-Tools that referenced this pull request Aug 19, 2020
Fixes KhronosGroup#3529

* Make BasicBlock::reachable() only consider static reachability
* Fix reachability calculation to be independent of block order
* add tests
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/glslang/ b481744..9eef54b (4 commits)

KhronosGroup/glslang@b481744...9eef54b

$ git log b481744..9eef54b --date=short --no-merges --format='%ad %ae %s'
2020-07-17 bclayton Update license-checker.cfg with simplified rules
2020-07-17 bclayton Add new rules for update of license-checker
2020-07-15 cepheus GLSL/SPV: Propagaet precision qualifier from function to return value.
2020-07-14 bclayton runtests: Check error codes, set LD_LIBRARY_PATH

Created with:
  roll-dep third_party/glslang

Roll third_party/googletest/ 70b90929b..a781fe29b (3 commits)

google/googletest@70b9092...a781fe2

$ git log 70b90929b..a781fe29b --date=short --no-merges --format='%ad %ae %s'
2020-07-13 ofats Googletest export
2020-07-11 ashikpaul17 Fixed some minor typos
2020-06-19 amatanhead Make EXPECT_THROW and EXPECT_NO_THROW macros more informative

Created with:
  roll-dep third_party/googletest

Roll third_party/re2/ fe8a81adc..ca11026a0 (1 commit)

google/re2@fe8a81a...ca11026

$ git log fe8a81adc..ca11026a0 --date=short --no-merges --format='%ad %ae %s'
2020-07-14 junyer Make Regexp::Simplify() return a null pointer when stopped early.

Created with:
  roll-dep third_party/re2

Roll third_party/spirv-headers/ 308bd07..7f2ae11 (1 commit)

KhronosGroup/SPIRV-Headers@308bd07...7f2ae11

$ git log 308bd07..7f2ae11 --date=short --no-merges --format='%ad %ae %s'
2020-07-19 vkushwaha Add changes for SPV_EXT_shader_atomic_float

Created with:
  roll-dep third_party/spirv-headers

Roll third_party/spirv-tools/ c9b254d..c10d6ce (19 commits)

KhronosGroup/SPIRV-Tools@c9b254d...c10d6ce

$ git log c9b254d..c10d6ce --date=short --no-merges --format='%ad %ae %s'
2020-07-20 stefanomil spirv-fuzz: refactor to use RemoveAtRandomIndex (KhronosGroup#3560)
2020-07-20 antonikarp spirv-fuzz: add TransformationAddRelaxedDecoration (KhronosGroup#3545)
2020-07-17 alanbaker Store location values sparsely (KhronosGroup#3488)
2020-07-17 dneto Permit Simple and GLSL450 memory model in WEBGPU_0 (KhronosGroup#3463)
2020-07-17 antonikarp spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (KhronosGroup#3551)
2020-07-17 stefanomil Change MaybeApplyTransformation to return a boolean (KhronosGroup#3555)
2020-07-17 stefanomil spirv-fuzz: Implement MaybeApplyTransformation helper function (KhronosGroup#3540)
2020-07-17 stefanomil spirv-fuzz: Assert false in IsApplicable method of TransformationAccessChain (KhronosGroup#3528)
2020-07-16 vasniktel spirv-fuzz: Add support for OpBitcast to TransformationEquationInstruction (KhronosGroup#3523)
2020-07-16 vasniktel spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (KhronosGroup#3472)
2020-07-15 alanbaker Fix reachability in the validator (KhronosGroup#3541)
2020-07-15 vasniktel spirv-fuzz: Remove TransformationCopyObject (KhronosGroup#3531)
2020-07-15 vasniktel spirv-opt: Add support for OpLabel to dominator analysis (KhronosGroup#3516)
2020-07-15 stefanomil spirv-fuzz: Fuzzer pass to interchange zero-like constants (KhronosGroup#3524)
2020-07-15 afdx spirv-fuzz: Add replay range option (KhronosGroup#3535)
2020-07-14 jaebaek Rewrite KillDebugDeclares() (KhronosGroup#3513)
2020-07-14 andreperezmaselco.developer spirv-fuzz: Fix instruction insertion issue (KhronosGroup#3521)
2020-07-14 andreperezmaselco.developer spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (KhronosGroup#3527)
2020-07-14 greg Add support to GPU-AV instrumentation for Task and Mesh shaders (KhronosGroup#3512)

Created with:
  roll-dep third_party/spirv-tools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spirv-fuzz: TransformationMoveBlockDown invalidates the module

2 participants