(inst: &Instruction)
| 162 | } |
| 163 | |
| 164 | fn instruction_is_pure(inst: &Instruction) -> bool { |
| 165 | use Op::*; |
| 166 | match inst.class.opcode { |
| 167 | Nop |
| 168 | | Undef |
| 169 | | ConstantTrue |
| 170 | | ConstantFalse |
| 171 | | Constant |
| 172 | | ConstantComposite |
| 173 | | ConstantSampler |
| 174 | | ConstantNull |
| 175 | | AccessChain |
| 176 | | InBoundsAccessChain |
| 177 | | PtrAccessChain |
| 178 | | ArrayLength |
| 179 | | InBoundsPtrAccessChain |
| 180 | | CompositeConstruct |
| 181 | | CompositeExtract |
| 182 | | CompositeInsert |
| 183 | | CopyObject |
| 184 | | Transpose |
| 185 | | ConvertFToU |
| 186 | | ConvertFToS |
| 187 | | ConvertSToF |
| 188 | | ConvertUToF |
| 189 | | UConvert |
| 190 | | SConvert |
| 191 | | FConvert |
| 192 | | QuantizeToF16 |
| 193 | | ConvertPtrToU |
| 194 | | SatConvertSToU |
| 195 | | SatConvertUToS |
| 196 | | ConvertUToPtr |
| 197 | | PtrCastToGeneric |
| 198 | | GenericCastToPtr |
| 199 | | GenericCastToPtrExplicit |
| 200 | | Bitcast |
| 201 | | SNegate |
| 202 | | FNegate |
| 203 | | IAdd |
| 204 | | FAdd |
| 205 | | ISub |
| 206 | | FSub |
| 207 | | IMul |
| 208 | | FMul |
| 209 | | UDiv |
| 210 | | SDiv |
| 211 | | FDiv |
| 212 | | UMod |
| 213 | | SRem |
| 214 | | SMod |
| 215 | | FRem |
| 216 | | FMod |
| 217 | | VectorTimesScalar |
| 218 | | MatrixTimesScalar |
| 219 | | VectorTimesMatrix |
| 220 | | MatrixTimesVector |
| 221 | | MatrixTimesMatrix |
no test coverage detected