Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spirv-fuzz: Make functions "livesafe" during donation #3146

Merged
merged 7 commits into from
Jan 29, 2020

Conversation

afd
Copy link
Contributor

@afd afd commented Jan 22, 2020

This change allows the generator to (optionally and at random) make
the functions of a module "livesafe" during donation. This involves
introducing a loop limiter variable to each function and gating the
number of total loop iterations for the function using that variable.
It also involves eliminating OpKill and OpUnreachable instructions
(changing them to OpReturn/OpReturnValue), and clamping access chain
indices so that they are always in-bounds.

@afd afd requested a review from paulthomson January 22, 2020 11:47
Copy link
Contributor

@paulthomson paulthomson left a comment

Choose a reason for hiding this comment

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

Approved with a few comments one main query (as a comment).

source/fuzz/protobufs/spvtoolsfuzz.proto Show resolved Hide resolved
source/fuzz/transformation_add_function.cpp Outdated Show resolved Hide resolved
source/fuzz/transformation_add_function.cpp Outdated Show resolved Hide resolved
source/fuzz/transformation_add_function.cpp Show resolved Hide resolved
source/fuzz/transformation_add_function.cpp Show resolved Hide resolved
@afd afd requested a review from paulthomson January 29, 2020 14:58
@afd afd merged commit 521223b into KhronosGroup:master Jan 29, 2020
@afd afd deleted the fuzzer-livesafe-functions branch January 29, 2020 15:52
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/glslang/ 19ec0d2..5e86b28 (3 commits)

KhronosGroup/glslang@19ec0d2...5e86b28

$ git log 19ec0d2..5e86b28 --date=short --no-merges --format='%ad %ae %s'
2020-01-29 jbolz Use NOT ... VERSION_LESS instead of VERSION_GREATER_EQUAL
2020-01-28 jordan.l.justen standalone: Fix --help
2020-01-27 rharrison Use correct enum type in case statement

Roll third_party/re2/ 85c014206..05faa8db3 (2 commits)

google/re2@85c0142...05faa8d

$ git log 85c014206..05faa8db3 --date=short --no-merges --format='%ad %ae %s'
2020-01-31 junyer Avoid using the forward DFA in "ANCHOR_END" cases.
2020-01-29 junyer Make the fuzzer use FuzzedDataProvider.

Roll third_party/spirv-cross/ 68bf0f824..6b2add8e2 (4 commits)

KhronosGroup/SPIRV-Cross@68bf0f8...6b2add8

$ git log 68bf0f824..6b2add8e2 --date=short --no-merges --format='%ad %ae %s'
2020-02-03 post Use GNUInstallDirs for include path as well.
2020-02-01 orbea cmake: Don't hardcode the pkg-config file.
2020-02-01 orbea cmake: Use GNUInstallDirs.
2020-02-01 post CMake: Avoid warning when parent project uses VERSION in project().

Roll third_party/spirv-tools/ 1b34410..ddcc117 (7 commits)

KhronosGroup/SPIRV-Tools@1b34410...ddcc117

$ git log 1b34410..ddcc117 --date=short --no-merges --format='%ad %ae %s'
2020-02-03 stevenperron Update CHANGES
2020-02-03 arseny.kapoulkine Implement constant folding for many transcendentals (KhronosGroup#3166)
2020-01-30 afdx Fix typo in comment. (KhronosGroup#3163)
2020-01-30 afdx spirv-fuzz: Arbitrary variable facts (KhronosGroup#3165)
2020-01-29 afdx spirv-fuzz: Add outlining test (KhronosGroup#3164)
2020-01-29 afdx spirv-fuzz: Make functions "livesafe" during donation (KhronosGroup#3146)
2020-01-28 stevenperron Dead branch elim fix (KhronosGroup#3160)

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
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.

2 participants