MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / InstructionHasNoSideEffects

Function InstructionHasNoSideEffects

source/fuzz/fuzzer_util.cpp:1794–1904  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1792}
1793
1794bool InstructionHasNoSideEffects(const opt::Instruction& instruction) {
1795 switch (instruction.opcode()) {
1796 case spv::Op::OpUndef:
1797 case spv::Op::OpAccessChain:
1798 case spv::Op::OpInBoundsAccessChain:
1799 case spv::Op::OpArrayLength:
1800 case spv::Op::OpVectorExtractDynamic:
1801 case spv::Op::OpVectorInsertDynamic:
1802 case spv::Op::OpVectorShuffle:
1803 case spv::Op::OpCompositeConstruct:
1804 case spv::Op::OpCompositeExtract:
1805 case spv::Op::OpCompositeInsert:
1806 case spv::Op::OpCopyObject:
1807 case spv::Op::OpTranspose:
1808 case spv::Op::OpConvertFToU:
1809 case spv::Op::OpConvertFToS:
1810 case spv::Op::OpConvertSToF:
1811 case spv::Op::OpConvertUToF:
1812 case spv::Op::OpUConvert:
1813 case spv::Op::OpSConvert:
1814 case spv::Op::OpFConvert:
1815 case spv::Op::OpQuantizeToF16:
1816 case spv::Op::OpSatConvertSToU:
1817 case spv::Op::OpSatConvertUToS:
1818 case spv::Op::OpBitcast:
1819 case spv::Op::OpSNegate:
1820 case spv::Op::OpFNegate:
1821 case spv::Op::OpIAdd:
1822 case spv::Op::OpFAdd:
1823 case spv::Op::OpISub:
1824 case spv::Op::OpFSub:
1825 case spv::Op::OpIMul:
1826 case spv::Op::OpFMul:
1827 case spv::Op::OpUDiv:
1828 case spv::Op::OpSDiv:
1829 case spv::Op::OpFDiv:
1830 case spv::Op::OpUMod:
1831 case spv::Op::OpSRem:
1832 case spv::Op::OpSMod:
1833 case spv::Op::OpFRem:
1834 case spv::Op::OpFMod:
1835 case spv::Op::OpVectorTimesScalar:
1836 case spv::Op::OpMatrixTimesScalar:
1837 case spv::Op::OpVectorTimesMatrix:
1838 case spv::Op::OpMatrixTimesVector:
1839 case spv::Op::OpMatrixTimesMatrix:
1840 case spv::Op::OpOuterProduct:
1841 case spv::Op::OpDot:
1842 case spv::Op::OpIAddCarry:
1843 case spv::Op::OpISubBorrow:
1844 case spv::Op::OpUMulExtended:
1845 case spv::Op::OpSMulExtended:
1846 case spv::Op::OpAny:
1847 case spv::Op::OpAll:
1848 case spv::Op::OpIsNan:
1849 case spv::Op::OpIsInf:
1850 case spv::Op::OpIsFinite:
1851 case spv::Op::OpIsNormal:

Calls 1

opcodeMethod · 0.45

Tested by

no test coverage detected