Perform merge return with single return in loop.#2714
Merged
s-perron merged 1 commit intoKhronosGroup:masterfrom Jul 4, 2019
Merged
Perform merge return with single return in loop.#2714s-perron merged 1 commit intoKhronosGroup:masterfrom
s-perron merged 1 commit intoKhronosGroup:masterfrom
Conversation
Inlining does not inline functions that have a single return that is in a loop. This is because the return cannot be replaced by a branch outside of the loop easily. Merge return knows how to rewrite the function so the return is replaced by a branch. Fixes KhronosGroup#2038.
alan-baker
approved these changes
Jul 4, 2019
dneto0
pushed a commit
to dneto0/SPIRV-Tools
that referenced
this pull request
Sep 14, 2024
Roll third_party/re2/ 848dfb7e1..e356bd3f8 (6 commits) google/re2@848dfb7...e356bd3 $ git log 848dfb7e1..e356bd3f8 --date=short --no-merges --format='%ad %ae %s' 2019-07-07 junyer Make RE2::Set canonicalize DFA states. 2019-07-05 junyer Fix SimplifyStringSet() for really reals. And the test. 2019-07-04 junyer Don't let Prefilter::OrStrings() return NULL. 2019-07-04 junyer Fix SimplifyStringSet() properly. Ensure test coverage. 2019-07-04 junyer Fix a typographical error. 2019-07-04 junyer Stop SimplifyStringSet() from finding "" in everything. Roll third_party/spirv-cross/ 9a6e2534e..53ab2144b (7 commits) KhronosGroup/SPIRV-Cross@9a6e253...53ab214 $ git log 9a6e2534e..53ab2144b --date=short --no-merges --format='%ad %ae %s' 2019-07-08 post Fall back to complex loop if non-trivial continue block is found. 2019-07-08 post Add test shaders for NonUniformEXT propagation. 2019-07-08 post Propagate NonUniformEXT to dependent expressions. 2019-07-05 post Add simple test for extended debug operations. 2019-07-04 lifeng.pan Parse SPIR-V debug information extended instructions, as well as OpNoLine. 2019-07-03 post Don't use scalar dot(). 2019-07-03 post MSL/HLSL: Support scalar reflect and refract. Roll third_party/spirv-headers/ 123dc27..29c1114 (1 commit) KhronosGroup/SPIRV-Headers@123dc27...29c1114 $ git log 123dc27..29c1114 --date=short --no-merges --format='%ad %ae %s' 2019-06-15 antiagainst Reserve ID 23 for MLIR SPIR-V Serializer Roll third_party/spirv-tools/ 9702d47..b8ab808 (5 commits) KhronosGroup/SPIRV-Tools@9702d47...b8ab808 $ git log 9702d47..b8ab808 --date=short --no-merges --format='%ad %ae %s' 2019-07-07 afdx Shrinker for spirv-fuzz (KhronosGroup#2708) 2019-07-04 stevenperron Perform merge return with single return in loop. (KhronosGroup#2714) 2019-07-04 stevenperron Do not inline OpKill Instructions (KhronosGroup#2713) 2019-07-04 afdx Refactor reducer options (KhronosGroup#2709) 2019-07-03 52076061+digit-google Fix BUILD.gn for Fuchsia platform build. (KhronosGroup#2692) Created with: roll-dep third_party/effcee third_party/glslang third_party/googletest third_party/re2 third_party/spirv-cross third_party/spirv-headers 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.
Inlining does not inline functions that have a single return that is in a loop. This is because the return cannot be replaced by a branch outside of the loop easily. Merge return knows how to rewrite the function so the return is replaced by a branch.
Fixes #2038.