Skip to content

spirv-fuzz: Create synonym via OpPhi and existing synonyms#3701

Merged
afd merged 13 commits intoKhronosGroup:masterfrom
stefanomil:transformation-add-opphi-synonym
Aug 27, 2020
Merged

spirv-fuzz: Create synonym via OpPhi and existing synonyms#3701
afd merged 13 commits intoKhronosGroup:masterfrom
stefanomil:transformation-add-opphi-synonym

Conversation

@stefanomil
Copy link
Copy Markdown
Collaborator

A transformation that adds new OpPhi instructions to blocks with >=1
predecessors, so that its value depends on previously-defined ids of
the right type, which are all synonymous. This instruction is also
recorded as synonymous to the others.

The related fuzzer pass still needs to be implemented.

Fixes #3592 .

Copy link
Copy Markdown
Collaborator

@andreperezmaselco andreperezmaselco left a comment

Choose a reason for hiding this comment

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

Very interesting transformation and high quality code, @stefanomil!

Copy link
Copy Markdown
Collaborator

@Vasniktel Vasniktel left a comment

Choose a reason for hiding this comment

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

A very nice transformation! I've added some minor comments and spotted one interesting use case (with multiple identical predecessors).

Copy link
Copy Markdown
Collaborator

@Vasniktel Vasniktel left a comment

Choose a reason for hiding this comment

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

A very nice transformation. I left some review comments.

@stefanomil stefanomil force-pushed the transformation-add-opphi-synonym branch from 5f10634 to efcd520 Compare August 19, 2020 09:22
@stefanomil stefanomil marked this pull request as ready for review August 19, 2020 10:28
@stefanomil stefanomil force-pushed the transformation-add-opphi-synonym branch from 7b77c06 to 7a44b21 Compare August 20, 2020 11:35
Copy link
Copy Markdown
Contributor

@afd afd left a comment

Choose a reason for hiding this comment

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

Looks excellent! Mainly cosmetic changes requested.

@stefanomil stefanomil requested a review from afd August 25, 2020 12:37
Copy link
Copy Markdown
Contributor

@afd afd left a comment

Choose a reason for hiding this comment

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

Thanks for making the changes - LGTM! Please rebase and then I will merge.

@stefanomil stefanomil force-pushed the transformation-add-opphi-synonym branch from a81ec10 to 3d2f444 Compare August 27, 2020 10:22
@stefanomil
Copy link
Copy Markdown
Collaborator Author

@afd I have rebased

@afd afd changed the title spirv-fuzz: Transformation that creates a synonym using OpPhi and existing synonyms spirv-fuzz: Create synonym via OpPhi and existing synonyms Aug 27, 2020
@afd afd merged commit 08291a3 into KhronosGroup:master Aug 27, 2020
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/glslang/ 983698b..517f39e (1 commit)

KhronosGroup/glslang@983698b...517f39e

$ git log 983698b..517f39e --date=short --no-merges --format='%ad %ae %s'
2020-08-26 jmadill Suppress two override suggestion warnings.

Created with:
  roll-dep third_party/glslang

Roll third_party/googletest/ 1e315c5b1..df6b75949 (1 commit)

google/googletest@1e315c5...df6b759

$ git log 1e315c5b1..df6b75949 --date=short --no-merges --format='%ad %ae %s'
2020-08-26 absl-team Googletest export

Created with:
  roll-dep third_party/googletest

Roll third_party/spirv-tools/ 4dd1223..8a0ebd4 (14 commits)

KhronosGroup/SPIRV-Tools@4dd1223...8a0ebd4

$ git log 4dd1223..8a0ebd4 --date=short --no-merges --format='%ad %ae %s'
2020-08-31 jaebaek Correctly replace debug lexical scope of instruction (KhronosGroup#3718)
2020-08-28 afdx spirv-fuzz: Remove opaque pointer design pattern (KhronosGroup#3755)
2020-08-27 stefanomil spirv-fuzz: Create synonym via OpPhi and existing synonyms (KhronosGroup#3701)
2020-08-27 stefanomil Add LoopNestingDepth function to StructuredCFGAnalysis (KhronosGroup#3754)
2020-08-27 afdx spirv-fuzz: Do not make synonyms of void result ids (KhronosGroup#3747)
2020-08-26 greg Do not register DebugFunction for functions optimized away. (KhronosGroup#3749)
2020-08-26 jaebaek Handle DebugScope in compact-ids pass (KhronosGroup#3724)
2020-08-26 afdx spirv-fuzz: Overflow ids (KhronosGroup#3734)
2020-08-25 greg Fix DebugNoScope to not output InlinedAt operand. (KhronosGroup#3748)
2020-08-25 vasniktel spirv-fuzz: Split the fact manager into multiple files (KhronosGroup#3699)
2020-08-25 andreperezmaselco.developer spirv-fuzz: Add inline function transformation (KhronosGroup#3517)
2020-08-25 vasniktel spirv-fuzz: Fix MaybeGetZeroConstant (KhronosGroup#3740)
2020-08-24 greg Fix SSA-rewrite to remove DebugDeclare for variables without loads (KhronosGroup#3719)
2020-08-24 stevenperron Add undef for inlined void function (KhronosGroup#3720)

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: Create synonyms using OpPhi and existing synonyms

4 participants