Squashed 'third_party/SPIRV-Tools/' changes from 54cd5e196..1a7f71afb
1a7f71afb clean: constexpr-ify and unify anon namespace use (#4991)
8ea3ae6be Split EliminateDeadInputComponents into safe and unsafe versions. (#4984)
a8647f59c Use Python3 for presubmit (#4986)
68e8327f2 Instrument: Change output buffer offset definitions (#4961)
996d4c021 spirv-val: Multiple interface var with same SC (#4969)
aae7d4132 Fix macos kokoro builds (#4985)
525bc3806 Add pass to eliminate dead output components (#4982)
54d4e77fa spirv-opt: Add const folding for CompositeInsert (#4943)
a5e766b2b spirv-val: Add VUID label for 07703 (#4980)
d35a78db5 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981)
c8e1588cf Add passes to eliminate dead output stores (#4970)
a52de681d Prevent eliminating case constructs in block merging (#4976)
4563d9093 Only validate full layout in Vulkan environments (#4972)
9f3a4afae spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975)
b49a2caa7 Revert "test" (#4974)
da215f10c test
7326b967a Prevent null pointer from being dereferenced (#4971)
0ebf83057 spirv-val: Add OpPtrAccessChain Base checks (#4965)
eb113f0fd spirv-val: Improve PR 4831 error message (#4968)
ecd5b9c16 spirv-val: Add remaining Component decoration validation (#4966)
b53d3a6be Start SPIRV-Tools v2022.5
eb0a36633 Finalize SPIRV-Tools v2022.4
4a6290b56 Update CHANGES
a9291988d Roll external/spirv-headers/ 4bd8fc0c8..85a1ed200 (4 commits)
a25a9d0b5 Roll external/re2/ 5723bb895..d2836d1b1 (11 commits)
59043d177 Roll external/googletest/ 548b13dc3..d9bb8412d (78 commits)
95ae2da35 Roll external/effcee/ ddf5e2bb9..35912e1b7 (1 commit)
a3350c0ff Update SPIRV-Headers revision (#4962)
1cecf9170 Support Narrow Types in BitCast Folding Rule (#4941)
a6e6454ef spirv-val: Add SPV_ARM_core_builtins validation (#4958)
4dbc66380 spirv-val: Use ostringstream in id validation tests (#4956)
07d361b67 spirv-val: Add an option to use friendly names or not (#4951)
3ec6b3698 spirv-val: Consistently quote ids in messages (#4950)
e1a8b5d60 build: Fix BUILD.gn build error (#4948)
49230a230 spirv-opt: Remove unused folding rule (#4942)
b53d7a8af spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924)
265b455c9 Fix CreatDebugInlinedAt to not invoke def_use_mgr (#4939)
ddbee48f8 spirv-opt: Fix stacked CompositeExtract constant folds (#4932)
f98473cee Remove `spvOpcodeTerminatesExecution` (#4931)
21146c1b4 Fix builtin validator for unimplemented opcodes. (#4940)
aeb1c64d4 spirv-val: Make it legal to use arrays of ray queries (#4938)
11d0d1622 Cleanup code for 272e4b3d0 (#4934)
91c29a197 spirv-val: Fix comment for checking extended alignments (#4937)
0c4ce11b4 spirv-val: Update VUID from 1.3.228 Vulkan spec (#4936)
5f4ce362a spirv-val: Label VUID 07290 (#4927)
8422d8a44 spirv-val: Label ShaderRecordBufferKHR VUID (#4926)
c3f844aec spirv-val: Test file suffix consistency (#4925)
272e4b3d0 Fix missing and incorrect DebugValues (#4929)
49deada73 Also consider EmitMeshTasksEXT terminator in spirv-opt. (#4930)
fb27bbf30 Fix DebugInlinedAt Line operand (#4928)
f5b27b651 spirv-diff: Allow no SpecId (#4904)
59cf5b134 spirv-val: consider OpEmitMeshTasksEXT a terminator instruction (#4923)
934a05978 spirv-val: Label Builtin Array Test VUIDs (#4921)
5f45f793a Support building on OpenBSD (#4912)
529955e03 Improve time to build dominators (#4916)
8eb850983 build: cmake: Add support for GNU/Hurd (#4895)
4386afb05 spirv-opt: Remove unused fold spec const code (#4906)
4c456f7da Implement tool changes for SPV_EXT_mesh_shader. (#4915)
33113abf4 Instrument: Add OpNames to generated functions and variables (#4873)
b5d1040b9 Fix ADCE to mark scope and inlined_at of line instructions as live. (#4910)
d51dc53d2 Improve algorithm to reorder blocks in a function (#4911)
fca39d5cb spirv-val: Better message for using OpTypeBool in input/output (#4901)
66bdbacc9 spirv-val: Use lookup table for Decoration string (#4903)
f76431cba spirv-val: Add SPV_KHR_ray_tracing storage class (#4868)
a98f05d02 tests: Make InstrumentPass tests use SinglePassRunAndMatch<> and stateful pattern matching (#4897)
b41e3e131 Disable DebugInfoMgr during the entire CompactIds pass (#4905)
3c1a14b2b spirv-val: SBT Index for OpExecuteCallableKHR (#4900)
0073a1fa3 spirv-val: Remove ImageWrite Texel todo (#4899)
71b2aee6c Add structs to eliminate dead input components (#4894)
1728c1d40 spirv-opt: fix copy-propagate-arrays index opti on structs. (#4891)
9abacb34a Fix ADCE to not eliminate top level DebugInfo instructions (#4889)
3a8a961cf Fix array copy propagation (#4890)
afbb52b13 Start SPIRV-Tools v2022.4
409e11679 Finalize SPIRV-Tools v2022.3
0a43a84e0 Fix shuffle feeding shuffle with undef literal (#4883)
0ebcdc4d1 Allow spirv-opt print-all to show pretty IDs (#4888)
ed3b9c83b Local access chain convert: check for negative indexes (#4884)
f20e8d05f spirv-val: Add SPV_KHR_ray_tracing instructions (#4871)
5e61ea209 Update CHANGES (#4886)
b362d2b7d spirv-diff: Fix asserts in ComparePreambleInstructions() (#4872)
08c542d34 spirv-val: Label VUID 06997 (#4881)
git-subtree-dir: third_party/SPIRV-Tools
git-subtree-split: 1a7f71afb42983b8b21bef656260964eb3852942
Change-Id: I6b7cf32b13d9ea53b00fed1b1541d4fe34cb01f5
diff --git a/source/val/validate_bitwise.cpp b/source/val/validate_bitwise.cpp
index e6e97c4..87c9556 100644
--- a/source/val/validate_bitwise.cpp
+++ b/source/val/validate_bitwise.cpp
@@ -27,7 +27,7 @@
// Validates when base and result need to be the same type
spv_result_t ValidateBaseType(ValidationState_t& _, const Instruction* inst,
const uint32_t base_type) {
- const SpvOp opcode = inst->opcode();
+ const spv::Op opcode = inst->opcode();
if (!_.IsIntScalarType(base_type) && !_.IsIntVectorType(base_type)) {
return _.diag(SPV_ERROR_INVALID_DATA, inst)
@@ -47,7 +47,7 @@
}
// OpBitCount just needs same number of components
- if (base_type != inst->type_id() && opcode != SpvOpBitCount) {
+ if (base_type != inst->type_id() && opcode != spv::Op::OpBitCount) {
return _.diag(SPV_ERROR_INVALID_DATA, inst)
<< "Expected Base Type to be equal to Result Type: "
<< spvOpcodeString(opcode);
@@ -58,13 +58,13 @@
// Validates correctness of bitwise instructions.
spv_result_t BitwisePass(ValidationState_t& _, const Instruction* inst) {
- const SpvOp opcode = inst->opcode();
+ const spv::Op opcode = inst->opcode();
const uint32_t result_type = inst->type_id();
switch (opcode) {
- case SpvOpShiftRightLogical:
- case SpvOpShiftRightArithmetic:
- case SpvOpShiftLeftLogical: {
+ case spv::Op::OpShiftRightLogical:
+ case spv::Op::OpShiftRightArithmetic:
+ case spv::Op::OpShiftLeftLogical: {
if (!_.IsIntScalarType(result_type) && !_.IsIntVectorType(result_type))
return _.diag(SPV_ERROR_INVALID_DATA, inst)
<< "Expected int scalar or vector type as Result Type: "
@@ -103,10 +103,10 @@
break;
}
- case SpvOpBitwiseOr:
- case SpvOpBitwiseXor:
- case SpvOpBitwiseAnd:
- case SpvOpNot: {
+ case spv::Op::OpBitwiseOr:
+ case spv::Op::OpBitwiseXor:
+ case spv::Op::OpBitwiseAnd:
+ case spv::Op::OpNot: {
if (!_.IsIntScalarType(result_type) && !_.IsIntVectorType(result_type))
return _.diag(SPV_ERROR_INVALID_DATA, inst)
<< "Expected int scalar or vector type as Result Type: "
@@ -140,7 +140,7 @@
break;
}
- case SpvOpBitFieldInsert: {
+ case spv::Op::OpBitFieldInsert: {
const uint32_t base_type = _.GetOperandTypeId(inst, 2);
const uint32_t insert_type = _.GetOperandTypeId(inst, 3);
const uint32_t offset_type = _.GetOperandTypeId(inst, 4);
@@ -167,8 +167,8 @@
break;
}
- case SpvOpBitFieldSExtract:
- case SpvOpBitFieldUExtract: {
+ case spv::Op::OpBitFieldSExtract:
+ case spv::Op::OpBitFieldUExtract: {
const uint32_t base_type = _.GetOperandTypeId(inst, 2);
const uint32_t offset_type = _.GetOperandTypeId(inst, 3);
const uint32_t count_type = _.GetOperandTypeId(inst, 4);
@@ -189,7 +189,7 @@
break;
}
- case SpvOpBitReverse: {
+ case spv::Op::OpBitReverse: {
const uint32_t base_type = _.GetOperandTypeId(inst, 2);
if (spv_result_t error = ValidateBaseType(_, inst, base_type)) {
@@ -199,7 +199,7 @@
break;
}
- case SpvOpBitCount: {
+ case spv::Op::OpBitCount: {
if (!_.IsIntScalarType(result_type) && !_.IsIntVectorType(result_type))
return _.diag(SPV_ERROR_INVALID_DATA, inst)
<< "Expected int scalar or vector type as Result Type: "