Lines Matching refs:HConstant
624 HConstant* GetConstant(DataType::Type type, int64_t value, uint32_t dex_pc = kNoDexPc);
745 void InsertConstant(HConstant* instruction);
3163 class HConstant : public HExpression<0> {
3165 explicit HConstant(InstructionKind kind, DataType::Type type, uint32_t dex_pc = kNoDexPc)
3188 class HNullConstant final : public HConstant {
3208 : HConstant(kNullConstant, DataType::Type::kReference, dex_pc) {
3216 class HIntConstant final : public HConstant {
3248 : HConstant(kIntConstant, DataType::Type::kInt32, dex_pc), value_(value) {
3251 : HConstant(kIntConstant, DataType::Type::kInt32, dex_pc),
3262 class HLongConstant final : public HConstant {
3287 : HConstant(kLongConstant, DataType::Type::kInt64, dex_pc),
3296 class HFloatConstant final : public HConstant {
3340 : HConstant(kFloatConstant, DataType::Type::kFloat32, dex_pc),
3344 : HConstant(kFloatConstant, DataType::Type::kFloat32, dex_pc),
3355 class HDoubleConstant final : public HConstant {
3397 : HConstant(kDoubleConstant, DataType::Type::kFloat64, dex_pc),
3401 : HConstant(kDoubleConstant, DataType::Type::kFloat64, dex_pc),
3754 HConstant* TryStaticEvaluation() const;
3757 virtual HConstant* Evaluate(HIntConstant* x) const = 0;
3758 virtual HConstant* Evaluate(HLongConstant* x) const = 0;
3759 virtual HConstant* Evaluate(HFloatConstant* x) const = 0;
3760 virtual HConstant* Evaluate(HDoubleConstant* x) const = 0;
3830 HConstant* TryStaticEvaluation() const;
3833 virtual HConstant* Evaluate(HNullConstant* x ATTRIBUTE_UNUSED,
3838 virtual HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const = 0;
3839 virtual HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const = 0;
3840 virtual HConstant* Evaluate(HLongConstant* x ATTRIBUTE_UNUSED,
3845 virtual HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const = 0;
3846 virtual HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const = 0;
3850 HConstant* GetConstantRight() const;
3969 HConstant* Evaluate(HNullConstant* x ATTRIBUTE_UNUSED,
3973 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
3979 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
3983 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
3986 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4016 HConstant* Evaluate(HNullConstant* x ATTRIBUTE_UNUSED,
4020 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4026 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4029 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4032 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4060 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4066 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4069 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4072 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4100 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4106 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4109 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4112 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4139 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4145 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4148 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4151 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4178 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4184 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4187 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4190 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
4217 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4220 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4223 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
4228 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
4259 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4262 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4265 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
4270 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
4301 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4304 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4307 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
4312 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
4343 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4346 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4349 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
4354 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
4411 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
4419 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
4422 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
4425 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5198 HConstant* Evaluate(HIntConstant* x) const override {
5201 HConstant* Evaluate(HLongConstant* x) const override {
5204 HConstant* Evaluate(HFloatConstant* x) const override {
5207 HConstant* Evaluate(HDoubleConstant* x) const override {
5277 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5281 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5285 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
5289 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5311 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5315 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5319 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
5323 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5347 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5351 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5355 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
5359 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5395 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5399 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5403 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
5407 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5443 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5447 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5451 HConstant* Evaluate(HFloatConstant* x, HFloatConstant* y) const override {
5455 HConstant* Evaluate(HDoubleConstant* x, HDoubleConstant* y) const override {
5481 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5485 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5490 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
5492 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
5516 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5520 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5525 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
5527 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
5556 HConstant* Evaluate(HIntConstant* x) const override {
5559 HConstant* Evaluate(HLongConstant* x) const override {
5562 HConstant* Evaluate(HFloatConstant* x) const override {
5566 HConstant* Evaluate(HDoubleConstant* x) const override {
5619 HConstant* Evaluate(HIntConstant* value, HIntConstant* distance) const override {
5623 HConstant* Evaluate(HLongConstant* value, HIntConstant* distance) const override {
5627 HConstant* Evaluate(HLongConstant* value ATTRIBUTE_UNUSED,
5632 HConstant* Evaluate(HFloatConstant* value ATTRIBUTE_UNUSED,
5637 HConstant* Evaluate(HDoubleConstant* value ATTRIBUTE_UNUSED,
5665 HConstant* Evaluate(HIntConstant* value, HIntConstant* distance) const override {
5669 HConstant* Evaluate(HLongConstant* value, HIntConstant* distance) const override {
5673 HConstant* Evaluate(HLongConstant* value ATTRIBUTE_UNUSED,
5678 HConstant* Evaluate(HFloatConstant* value ATTRIBUTE_UNUSED,
5683 HConstant* Evaluate(HDoubleConstant* value ATTRIBUTE_UNUSED,
5713 HConstant* Evaluate(HIntConstant* value, HIntConstant* distance) const override {
5717 HConstant* Evaluate(HLongConstant* value, HIntConstant* distance) const override {
5721 HConstant* Evaluate(HLongConstant* value ATTRIBUTE_UNUSED,
5726 HConstant* Evaluate(HFloatConstant* value ATTRIBUTE_UNUSED,
5731 HConstant* Evaluate(HDoubleConstant* value ATTRIBUTE_UNUSED,
5756 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5760 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5764 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
5769 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
5794 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5798 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5802 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
5807 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
5832 HConstant* Evaluate(HIntConstant* x, HIntConstant* y) const override {
5836 HConstant* Evaluate(HLongConstant* x, HLongConstant* y) const override {
5840 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED,
5845 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED,
5876 HConstant* Evaluate(HIntConstant* value, HIntConstant* distance) const override {
5880 HConstant* Evaluate(HLongConstant* value, HIntConstant* distance) const override {
5884 HConstant* Evaluate(HLongConstant* value ATTRIBUTE_UNUSED,
5889 HConstant* Evaluate(HFloatConstant* value ATTRIBUTE_UNUSED,
5894 HConstant* Evaluate(HDoubleConstant* value ATTRIBUTE_UNUSED,
5964 HConstant* Evaluate(HIntConstant* x) const override {
5967 HConstant* Evaluate(HLongConstant* x) const override {
5970 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED) const override {
5974 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED) const override {
6001 HConstant* Evaluate(HIntConstant* x) const override {
6004 HConstant* Evaluate(HLongConstant* x ATTRIBUTE_UNUSED) const override {
6008 HConstant* Evaluate(HFloatConstant* x ATTRIBUTE_UNUSED) const override {
6012 HConstant* Evaluate(HDoubleConstant* x ATTRIBUTE_UNUSED) const override {
6049 HConstant* TryStaticEvaluation() const;
8475 inline int64_t Int64FromConstant(HConstant* constant) {