Squashed 'third_party/SPIRV-Tools/' changes from 55af3902f..8a5500656
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)
git-subtree-dir: third_party/SPIRV-Tools
git-subtree-split: 8a5500656ec0b495bb9d4f23257c3d21123225a9
diff --git a/CHANGES b/CHANGES
index fe6641e..d10f55b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,77 @@
Revision history for SPIRV-Tools
-v2020.3-dev 2020-03-26
- - Start v2020.3-dev
+v2020.5 2020-07-22
+ - Start SPIRV-Tools v2020.5
+
+v2020.4 2020-07-22
+ - General
+ - Changed variable names to be more descriptive (#3433)
+ - Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512)
+ - Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463)
+ - Support SPV_KHR_terminate_invocation (#3568)
+ - Optimizer
+ - Preserving debug information in optimizations
+ (#3389,#3420,#3425,#3356,#3459,#3444,#3492,#3451,#3497i,#3498,#3542)
+ - Eliminate branches with condition of OpConstantNull (#3438)
+ - Use structured order to unroll loops. (#3443)
+ - Updated desc_sroa to support flattening structures (#3448)
+ - Support OpCompositeExtract pattern in desc_sroa (#3456)
+ - Fix ADCE pass bug for mulitple entries (#3470)
+ - Sink pointer instructions in merge return (#3569)
+ - Validator
+ - Validate location assignments (#3308)
+ - Fix reachability in the validator (#3541)
+ - Reduce
+ - Fuzz
+ - Add support for OpSpecConstant* (#3373)
+ - Add replace linear algebra instruction transformation (#3402)
+ - Implement vector shuffle fuzzer pass (#3412)
+ - Swap operands in OpBranchConditional (#3423)
+ - Permute OpPhi instruction operands (#3421)
+ - Add FuzzerPassAddCopyMemoryInstructions (#3391)
+ - TransformationInvertComparisonOperator (#3475)
+ - Add variables with workgroup storage class (#3485)
+ - Add image sample unused components transformation (#3439)
+ - TransformationReplaceParameterWithGlobal (#3434)
+ - Support adding dead break from back-edge block (#3519)
+ - Fuzzer pass to interchange zero-like constants (#3524)
+ - Linker
+
+v2020.3 2020-05-27
+ - General
+ - Prevent Effcee install his things when build spirv-tools with testing enabled (#3256)
+ - Update acorn version (#3294)
+ - If SPIRV-Headers is in our tree, include it as subproject (#3299)
+ - allow cross compiling for Windows Store, UWP, etc. (#3330)
+ - Optimizer
+ - Remove deprecated interfaces from instrument passes (#3361)
+ - Preserve debug info in inline pass (#3349)
+ - Handle more cases in dead member elim (#3289)
+ - Preserve debug info in eliminate-dead-functions (#3251)
+ - Fix Struct CFG analysis for single block loop (#3293)
+ - Add tests for recently added command line option (#3297)
+ - Consider sampled images as read-only storage (#3295)
+ - Allow various validation options to be passed to spirv-opt (#3314)
+ - Add debug information analysis (#3305)
+ - Preserve debug info for wrap-opkill (#3331)
+ - refactor inlining pass (#3328)
+ - Add unrolling to performance passes (#3082)
+ - Validator
+ - Add validation support for ImageGatherBiasLodAMD (#3363)
+ - Validate ShaderCallKHR memory scope (#3332)
+ - Validate Buffer and BufferBlock apply only to struct types (#3259)
+ - Reduce
+ - increase default step limit (#3327)
+ - Remove unused uniforms and similar (#3321)
+ - Fuzz
+ - Add support for StorageBuffer (#3348)
+ - Add validator options (#3254)
+ - Limit adding of new variables to 'basic' types (#3257)
+ - Transformation to add OpConstantNull (#3273)
+ - Handling of more fuzzing opportunities (#3277, #3280, #3281, #3290, #3292)
+ - Respect rules for OpSampledImage (#3287)
+ - Do not outline regions that produce pointer outputs (#3291)
+ - Linker
v2020.2 2020-03-26
- General: