Skip to content

spirv-opt: Add support for OpLabel to dominator analysis#3516

Merged
afd merged 3 commits intoKhronosGroup:masterfrom
Vasniktel:fix_dominator_analysis
Jul 15, 2020
Merged

spirv-opt: Add support for OpLabel to dominator analysis#3516
afd merged 3 commits intoKhronosGroup:masterfrom
Vasniktel:fix_dominator_analysis

Conversation

@Vasniktel
Copy link
Copy Markdown
Collaborator

Fixes #3515.

Copy link
Copy Markdown
Contributor

@alan-baker alan-baker left a comment

Choose a reason for hiding this comment

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

Needs tests.

@Vasniktel Vasniktel force-pushed the fix_dominator_analysis branch from 9c223c4 to d1c377e Compare July 13, 2020 15:23
@Vasniktel Vasniktel requested a review from alan-baker July 13, 2020 15:23
Copy link
Copy Markdown
Contributor

@alan-baker alan-baker left a comment

Choose a reason for hiding this comment

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

I appreciate the fix, but please simplify the code.

@alan-baker alan-baker requested a review from dnovillo July 13, 2020 15:42
@Vasniktel Vasniktel requested a review from alan-baker July 13, 2020 15:51
Copy link
Copy Markdown
Contributor

@alan-baker alan-baker left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the fix.

@afd afd merged commit 8e0215a into KhronosGroup:master Jul 15, 2020
}

// We handle OpLabel instructions explicitly since they are not stored in the
// instruction list.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@s-perron I wonder if labels should be stored in the instruction list? I don't recall why they're not included.

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.

We did not make that decision. It was that way when we join this project, and we did not change it. It think it is separate just to make it easier to make sure that we do not accidentally get multiple OpLabel instructions per block and that it is at the start of the block.

antonikarp pushed a commit to antonikarp/SPIRV-Tools that referenced this pull request Jul 16, 2020
dnovillo pushed a commit to dnovillo/SPIRV-Tools that referenced this pull request Aug 19, 2020
@Vasniktel Vasniktel deleted the fix_dominator_analysis branch October 16, 2020 09:15
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-opt: DominatorAnalysis::Dominates does not handle OpLabel instructions

6 participants