spirv-fuzz: Extend TransformationRecordSynonymousConstants to allow composite constants#3537
Merged
afd merged 7 commits intoKhronosGroup:masterfrom Jul 21, 2020
Conversation
…ants, changing IsApplicable method of TransformationRecordSynonymousConstants to allow recording equivalence of composite constants; add some tests to check this.
afd
suggested changes
Jul 15, 2020
Contributor
afd
left a comment
There was a problem hiding this comment.
Looks good, but there are some subtleties to do with the constant manager that require changing (and probably some explanation from me too!)
Comment on lines
+40
to
+43
| // both of them represent zero-like values of the same type (for example | ||
| // OpConstant of type int and value 0 and OpConstantNull of type int). | ||
| // Composite constants are equivalent if they have the same type and their | ||
| // components are pairwise equivalent. |
Contributor
There was a problem hiding this comment.
Can you work on the phrasing here - I couldn't understand it, partly because you don't close the "(".
Collaborator
Author
There was a problem hiding this comment.
I have changed it. See if it's clearer
…s, to avoid problems with the constant manager.
Collaborator
Author
|
What should happen if the ids given to the transformations don't correspond to actual ids or to constant declarations? Right now I assert that they should, but I'm not sure. |
… sizes are not considered synonymous.
afd
suggested changes
Jul 17, 2020
Contributor
afd
left a comment
There was a problem hiding this comment.
Looking great - minor changes requested and then I can merge (if the bots pass).
…nRecordSynonymousConstants, and move comment to the header.
dnovillo
pushed a commit
to dnovillo/SPIRV-Tools
that referenced
this pull request
Aug 19, 2020
…omposite constants (KhronosGroup#3537) Implemented AreEquivalentConstants method to check equivalency of constants, changing IsApplicable method of TransformationRecordSynonymousConstants to allow recording equivalence of composite constants; added some tests to check this. Tests with arrays and matrices still need to be added. Fixes KhronosGroup#3533.
dneto0
added a commit
to dneto0/SPIRV-Tools
that referenced
this pull request
Sep 14, 2024
KhronosGroup/glslang@9eef54b...3ee5f2f $ git log 9eef54b..3ee5f2f --date=short --no-merges --format='%ad %ae %s' 2020-07-22 greg Update spirv-tools known-good to most recent stable 2020-07-19 vkushwaha Add changes for SPV_EXT_shader_atomic_float_add 2020-07-14 bclayton Limit visibility of symbols for internal libraries 2020-07-20 john SPV: Update to the latest SPIR-V headers. 2020-07-14 bclayton Deprecate InitializeDll functions 2020-07-14 bclayton Simplify PoolAlloc with use of thread_local. 2020-07-14 malcolm also search global variables assignment for live variables 2020-07-20 bclayton Drop support for VS2013 2020-07-20 bclayton Start glslang 11.0.0 2020-07-20 bclayton Finalize glslang 10.15.3847 2020-07-20 bclayton build_info: Fix parsing of versions with no flavor Created with: roll-dep third_party/glslang Roll third_party/spirv-headers/ 7f2ae11..979924c (1 commit) KhronosGroup/SPIRV-Headers@7f2ae11...979924c $ git log 7f2ae11..979924c --date=short --no-merges --format='%ad %ae %s' 2020-07-21 alanbaker Support SPV_KHR_terminate_invocation (KhronosGroup#163) Created with: roll-dep third_party/spirv-headers Roll third_party/spirv-tools/ c10d6ce..969f028 (18 commits) KhronosGroup/SPIRV-Tools@c10d6ce...969f028 $ git log c10d6ce..969f028 --date=short --no-merges --format='%ad %ae %s' 2020-07-23 rharrison Change DEPS rolling script to point at external/ (KhronosGroup#3584) 2020-07-23 vasniktel spirv-fuzz: Create a helper in fuzzerutil to reuse function type (KhronosGroup#3572) 2020-07-23 vasniktel spirv-fuzz: Test usages of IdIsIrrelevant fact (KhronosGroup#3578) 2020-07-23 antonikarp spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (KhronosGroup#3575) 2020-07-23 antonikarp spirv-fuzz: adds TransformationReplaceCopyObjectWithStoreLoad (KhronosGroup#3567) 2020-07-22 stevenperron Start SPIRV-Tools v2020.5 2020-07-22 stevenperron Finalize SPIRV-Tools v2020.4 2020-07-22 vasniktel spirv-fuzz: Fix usages of irrelevant constants (KhronosGroup#3566) 2020-07-22 stevenperron Update CHANGES 2020-07-22 alanbaker Support SPV_KHR_terminate_invocation (KhronosGroup#3568) 2020-07-22 stevenperron Sink pointer instructions in merge return (KhronosGroup#3569) 2020-07-21 greg Preserve OpenCL.DebugInfo.100 through elim-dead-code-aggressive (KhronosGroup#3542) 2020-07-21 vasniktel spirv-fuzz: TransformationReplaceParamsWithStruct (KhronosGroup#3455) 2020-07-21 38144211+vkushwaha-nv Add changes for SPV_EXT_shader_atomic_float (KhronosGroup#3562) 2020-07-21 vasniktel spirv-fuzz: Use irrelevant constants (KhronosGroup#3565) 2020-07-21 stefanomil spirv-fuzz: Extend TransformationRecordSynonymousConstants to allow composite constants (KhronosGroup#3537) 2020-07-21 vasniktel spirv-fuzz: Add is_irrelevant parameter (KhronosGroup#3563) 2020-07-20 vasniktel spirv-fuzz: Add IdIsIrrelevant fact (KhronosGroup#3561) Created with: roll-dep third_party/spirv-tools
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented AreEquivalentConstants method to check equivalency of constants, changing IsApplicable method of TransformationRecordSynonymousConstants to allow recording equivalence of composite constants; added some tests to check this.
Tests with arrays and matrices still need to be added.
Related issue: #3533