tree a033ef202a17f9c7bb28c8f5217e8ca52fc6408b
parent 3b2cd31c740071d7272029f6fbcef43ffc200f12
parent c00ee6cc1da6df21150c4bbfb866fd6d8458e2b3
author Alexis Hetu <sugoi@google.com> 1595861305 -0400
committer Alexis Hetu <sugoi@google.com> 1595861311 -0400

Update SPIR-V Tools to 8a5500656

Changes:
    8a5500656 spirv-fuzz: adds TransformationReplaceLoadStoreWithCopyMemory (#3586)
    7c901a49c Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571)
    767518e8e spirv-fuzz: Relax type checking for int contants (#3573)
    f8920bcfa spirv-fuzz: Generalise transformation access chain (#3546)
    98ac9fd6d spirv-fuzz: Split blocks starting with OpPhi before trying to outline (#3581)
    059ab0819 spirv-fuzz: Set message consumer in replayer when shrinking (#3591)
    d6306537d spirv-fuzz: Don't use default parameters (#3583)
    969f02864 Change DEPS rolling script to point at external/ (#3584)
    1aaf5c613 spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572)
    89b3bc5a8 spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578)
    9dc1bfa31 spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575)
    586a12b9d spirv-fuzz: adds TransformationReplaceCopyObjectWithStoreLoad (#3567)
    0b84727f2 Start SPIRV-Tools v2020.5
    895927bd3 Finalize SPIRV-Tools v2020.4
    bc2f78b7d spirv-fuzz: Fix usages of irrelevant constants (#3566)
    a0d8dc2b4 Update CHANGES
    f3cec9366 Support SPV_KHR_terminate_invocation (#3568)
    dca2c86bc Sink pointer instructions in merge return (#3569)
    cf7e922e7 Preserve OpenCL.DebugInfo.100 through elim-dead-code-aggressive (#3542)
    fe9e5db89 spirv-fuzz: TransformationReplaceParamsWithStruct (#3455)
    e4aebf99f Add changes for SPV_EXT_shader_atomic_float (#3562)
    5dc96d5d2 spirv-fuzz: Use irrelevant constants (#3565)
    98395b834 spirv-fuzz: Extend TransformationRecordSynonymousConstants to allow composite constants (#3537)
    a3b0adc30 spirv-fuzz: Add is_irrelevant parameter (#3563)
    8b5ed4448 spirv-fuzz: Add IdIsIrrelevant fact (#3561)
    c10d6cebb spirv-fuzz: refactor to use RemoveAtRandomIndex (#3560)
    0d8fe0fba spirv-fuzz: add TransformationAddRelaxedDecoration (#3545)
    717e7877c Store location values sparsely (#3488)
    d5766f280 Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463)
    bcc78b3e9 spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (#3551)
    fb32c4074 Change MaybeApplyTransformation to return a boolean (#3555)
    7dfd9b868 spirv-fuzz: Implement MaybeApplyTransformation helper function (#3540)
    de1ff50f2 spirv-fuzz: Assert false in IsApplicable method of TransformationAccessChain (#3528)
    680c77fa6 spirv-fuzz: Add support for OpBitcast to TransformationEquationInstruction (#3523)
    b0206b0f6 spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (#3472)
    7221ccf85 Fix reachability in the validator (#3541)
    2fa735dc0 spirv-fuzz: Remove TransformationCopyObject (#3531)
    8e0215afe spirv-opt: Add support for OpLabel to dominator analysis (#3516)
    f12c40f5a spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524)
    3e7238c68 spirv-fuzz: Add replay range option (#3535)
    4c33fb0d3 Rewrite KillDebugDeclares() (#3513)
    362276978 spirv-fuzz: Fix instruction insertion issue (#3521)
    91d921e89 spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (#3527)
    282392dda Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512)
    c9b254d04 spirv-fuzz: Support adding dead break from back-edge block (#3519)
    fe4dca516 Support OpPhi when replacing boolean constant operand (#3518)
    40c3c1cac spirv-fuzz: TransformationAddSynonyms (#3447)
    13dc28ce7 spirv-fuzz: Remove unused functions (#3510)
    282962362 spirv-fuzz: Minor refactoring (#3507)
    cf8c86a2d Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498)
    a687057a8 Preserve debug info in vector DCE pass (#3497)
    5f8cdd8b4 Implement transformation to record synonymous constants. (#3494)
    94667fbf6 Fix build failure (#3508)
    44428352b Upgrade elim-local-single-block for OpenCL.DebugInfo.100 (#3451)
    de56c34bd spirv-fuzz: TransformationReplaceParameterWithGlobal (#3434)
    11946e640 Implement the OpMatrixTimesVector linear algebra case (#3500)
    f8eddbbe5 Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492)
    daa3b47ed spirv-fuzz: Add image sample unused components transformation (#3439)
    7afbc0c8b spirv-fuzz: Add variables with workgroup storage class (#3485)
    2fbeb04b6 spirv-fuzz: Implement the OpVectorTimesMatrix linear algebra case (#3489)
    6d61c1159 spirv-fuzz: fuzzerutil::MaybeGetConstant* #3487
    6a4da9da4 Debug info preservation in copy-prop-array pass (#3444)
    bd2a9ea85 spirv-fuzz: TransformationInvertComparisonOperator (#3475)
    2c1ff230c Fix regression (#3481)
    4a92579a4 spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479)
    fba90d6b0 spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391)
    ab10489a0 spirv-fuzz: Add one parameter at a time (#3469)
    fc0dc3a9c Fix ADCE pass bug for mulitple entries (#3470)
    91c50e3fc Add gl_BaseInstance to the name mapper. (#3462)
    c3680adbd Implement the OpMatrixTimesScalar linear algebra case (#3450)
    efaae24d0 Clear debug information for kill and replacement (#3459)
    a1fb255a2 Validate location assignments (#3308)
    7a1af5878 Support OpCompositeExtract pattern in desc_sroa (#3456)
    29ba53f2a spirv-fuzz: Implement FuzzerPassAddParameters (#3399)
    71a5b6770 spirv-fuzz: Add GetParameters (#3454)
    8e586e46a spirv-fuzz: Permute OpPhi instruction operands (#3421)
    36b5bb701 Add support for different default/trunks in roll-deps (#3442)
    d4b9f576e [spirv-opt] debug info preservation in ssa-rewrite (#3356)
    2a1b8c062 Updated desc_sroa to support flattening structures (#3448)
    33cf7c425 spirv-fuzz: Refactor variable creation (#3414)
    d5306c8e8 spirv-fuzz: Swap operands in OpBranchConditional (#3423)
    545d158a2 Use structured order to unroll loops. (#3443)
    5342930f9 Debug info preservation in dead branch elimination (#3425)
    99651228b Add RemoveParameter method (#3437)
    57d9e360c Fix return type (#3435)
    a7112d544 Eliminate branches with condition of OpConstantNull (#3438)
    949470354 spirv-fuzz: Implement vector shuffle fuzzer pass (#3412)
    12a4fb3bc spirv-fuzz: Add replace linear algebra instruction transformation (#3402)
    52a5f074e Update access control lists. (#3433)
    30bf46dbe Fix operand access (#3427)
    5543d5faa Debug info preservation in ccp pass (#3420)
    458140aed Fix round trip tests that weren't instantiated (#3417)
    e49896709 spirv-fuzz: Add a test (#3238)
    c01f826bc spirv-fuzz: Add support for OpSpecConstant* (#3373)
    7c213720b spirv-fuzz: Fix replayer bug (#3401)
    9ed0fef6e Add value instruction condition (#3385)
    ffaecad32 Fix instruction function use (#3390)
    94808bd0f spirv-fuzz: Fix regression (#3396)
    74130f2d3 Fix googletest inclusion (#3398)
    636f449e1 Add tests for merge-return debug info preservation (#3389)
    f050cca7e spirv-fuzz: Add push id through variable transformation (#3359)
    8dfdbeff8 Rolling 4 dependencies (#3380)
    20e7fc505 Start SPIRV-Tools v2020.4
    e128ab0d6 Finalize SPIRV-Tools v2020.3
    9b8a6a144 Update CHANGES
    d3d89bb90 spirv-fuzz: Support bit width argument for int and float types (#3378)

Commands:
    ./third_party/update-spirvtools.sh

Bug: b/123642959
Change-Id: Id54668de78b22bf61434d050162e06de30366d52
