#include <il.h>
Definition at line 10081 of file il.h.
◆ DoubleToFloatInstr()
dart::DoubleToFloatInstr::DoubleToFloatInstr |
( |
Value * |
value, |
|
|
intptr_t |
deopt_id, |
|
|
SpeculativeMode |
speculative_mode = kGuardInputs |
|
) |
| |
|
inline |
Definition at line 10083 of file il.h.
10087 SetInputAt(0,
value);
10088 }
TemplateDefinition(intptr_t deopt_id=DeoptId::kNone)
◆ AttributesEqual()
virtual bool dart::DoubleToFloatInstr::AttributesEqual |
( |
const Instruction & |
other | ) |
const |
|
inlinevirtual |
◆ Canonicalize()
Definition at line 2177 of file il.cc.
2177 {
2178 if (!HasUses()) return nullptr;
2179 if (
value()->definition()->IsFloatToDouble()) {
2180
2181 return value()->
definition()->AsFloatToDouble()->value()->definition();
2182 }
2183 if (
value()->BindsToConstant()) {
2184 double narrowed_val =
2185 static_cast<float>(Double::Cast(
value()->BoundConstant()).value());
2186 return flow_graph->GetConstant(
2188 }
2189 return this;
2190}
static DoublePtr NewCanonical(double d)
static Object & ZoneHandle()
Definition * definition() const
◆ ComputeCanDeoptimize()
virtual bool dart::DoubleToFloatInstr::ComputeCanDeoptimize |
( |
| ) |
const |
|
inlinevirtual |
◆ DeoptimizationTarget()
virtual intptr_t dart::DoubleToFloatInstr::DeoptimizationTarget |
( |
| ) |
const |
|
inlinevirtual |
Definition at line 10107 of file il.h.
10107{ return GetDeoptId(); }
◆ representation()
virtual Representation dart::DoubleToFloatInstr::representation |
( |
| ) |
const |
|
inlinevirtual |
Definition at line 10096 of file il.h.
10096{ return kUnboxedFloat; }
◆ RequiredInputRepresentation()
virtual Representation dart::DoubleToFloatInstr::RequiredInputRepresentation |
( |
intptr_t |
idx | ) |
const |
|
inlinevirtual |
Definition at line 10098 of file il.h.
10098 {
10100 return kUnboxedDouble;
10101 }
◆ SpeculativeModeOfInput()
virtual SpeculativeMode dart::DoubleToFloatInstr::SpeculativeModeOfInput |
( |
intptr_t |
index | ) |
const |
|
inlinevirtual |
Definition at line 10103 of file il.h.
10103 {
10104 return speculative_mode_;
10105 }
◆ value()
Value * dart::DoubleToFloatInstr::value |
( |
| ) |
const |
|
inline |
Definition at line 10090 of file il.h.
EmbeddedArray< Value *, N > inputs_
The documentation for this class was generated from the following files:
- third_party/dart-lang/sdk/runtime/vm/compiler/backend/il.h
- third_party/dart-lang/sdk/runtime/vm/compiler/backend/il.cc