template <int kIndex>
struct ParameterOperator FINAL : public Operator1<int> {
ParameterOperator()
- : Operator1<int>( // --
- IrOpcode::kParameter, Operator::kPure, // opcode
- "Parameter", // name
- 1, 0, 0, 1, 0, 0, // counts,
- kIndex) {} // parameter
+ : Operator1<int>( // --
+ IrOpcode::kParameter, // opcode
+ Operator::kFoldable | Operator::kNoThrow, // flags
+ "Parameter", // name
+ 1, 0, 0, 1, 0, 0, // counts,
+ kIndex) {} // parameter
};
#define CACHED_PARAMETER(index) \
ParameterOperator<index> kParameter##index##Operator;
break;
}
// Uncached.
- return new (zone()) Operator1<int>( // --
- IrOpcode::kParameter, Operator::kPure, // opcode
- "Parameter", // name
- 1, 0, 0, 1, 0, 0, // counts
- index); // parameter
+ return new (zone()) Operator1<int>( // --
+ IrOpcode::kParameter, // opcode
+ Operator::kFoldable | Operator::kNoThrow, // flags
+ "Parameter", // name
+ 1, 0, 0, 1, 0, 0, // counts
+ index); // parameter
}