| 874 | } |
| 875 | |
| 876 | bool Instruction::IsOpcodeCodeMotionSafe() const { |
| 877 | switch (opcode_) { |
| 878 | case spv::Op::OpNop: |
| 879 | case spv::Op::OpUndef: |
| 880 | case spv::Op::OpLoad: |
| 881 | case spv::Op::OpAccessChain: |
| 882 | case spv::Op::OpInBoundsAccessChain: |
| 883 | case spv::Op::OpArrayLength: |
| 884 | case spv::Op::OpVectorExtractDynamic: |
| 885 | case spv::Op::OpVectorInsertDynamic: |
| 886 | case spv::Op::OpVectorShuffle: |
| 887 | case spv::Op::OpCompositeConstruct: |
| 888 | case spv::Op::OpCompositeExtract: |
| 889 | case spv::Op::OpCompositeInsert: |
| 890 | case spv::Op::OpCopyObject: |
| 891 | case spv::Op::OpTranspose: |
| 892 | case spv::Op::OpConvertFToU: |
| 893 | case spv::Op::OpConvertFToS: |
| 894 | case spv::Op::OpConvertSToF: |
| 895 | case spv::Op::OpConvertUToF: |
| 896 | case spv::Op::OpUConvert: |
| 897 | case spv::Op::OpSConvert: |
| 898 | case spv::Op::OpFConvert: |
| 899 | case spv::Op::OpQuantizeToF16: |
| 900 | case spv::Op::OpBitcast: |
| 901 | case spv::Op::OpSNegate: |
| 902 | case spv::Op::OpFNegate: |
| 903 | case spv::Op::OpIAdd: |
| 904 | case spv::Op::OpFAdd: |
| 905 | case spv::Op::OpISub: |
| 906 | case spv::Op::OpFSub: |
| 907 | case spv::Op::OpIMul: |
| 908 | case spv::Op::OpFMul: |
| 909 | case spv::Op::OpUDiv: |
| 910 | case spv::Op::OpSDiv: |
| 911 | case spv::Op::OpFDiv: |
| 912 | case spv::Op::OpUMod: |
| 913 | case spv::Op::OpSRem: |
| 914 | case spv::Op::OpSMod: |
| 915 | case spv::Op::OpFRem: |
| 916 | case spv::Op::OpFMod: |
| 917 | case spv::Op::OpVectorTimesScalar: |
| 918 | case spv::Op::OpMatrixTimesScalar: |
| 919 | case spv::Op::OpVectorTimesMatrix: |
| 920 | case spv::Op::OpMatrixTimesVector: |
| 921 | case spv::Op::OpMatrixTimesMatrix: |
| 922 | case spv::Op::OpOuterProduct: |
| 923 | case spv::Op::OpDot: |
| 924 | case spv::Op::OpIAddCarry: |
| 925 | case spv::Op::OpISubBorrow: |
| 926 | case spv::Op::OpUMulExtended: |
| 927 | case spv::Op::OpSMulExtended: |
| 928 | case spv::Op::OpAny: |
| 929 | case spv::Op::OpAll: |
| 930 | case spv::Op::OpIsNan: |
| 931 | case spv::Op::OpIsInf: |
| 932 | case spv::Op::OpLogicalEqual: |
| 933 | case spv::Op::OpLogicalNotEqual: |
no outgoing calls
no test coverage detected