Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::ShiftUint32OpInstr Class Reference

#include <il.h>

Inheritance diagram for dart::ShiftUint32OpInstr:
dart::ShiftIntegerOpInstr dart::BinaryIntegerOpInstr dart::TemplateDefinition< 2, NoThrow, Pure >

Public Member Functions

 ShiftUint32OpInstr (Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id, Range *right_range=nullptr)
 
virtual SpeculativeMode SpeculativeModeOfInput (intptr_t index) const
 
virtual bool ComputeCanDeoptimize () const
 
virtual bool MayThrow () const
 
virtual Representation representation () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
- Public Member Functions inherited from dart::ShiftIntegerOpInstr
 ShiftIntegerOpInstr (Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id, Range *right_range=nullptr)
 
Rangeshift_range () const
 
void set_shift_range (Range *shift_range)
 
virtual void InferRange (RangeAnalysis *analysis, Range *range)
 
DECLARE_INSTRUCTION_SERIALIZABLE_FIELDS(ShiftIntegerOpInstr, BinaryIntegerOpInstr, FIELD_LIST) protected bool IsShiftCountInRange (int64_t max=kShiftCountLimit) const
 
- Public Member Functions inherited from dart::BinaryIntegerOpInstr
 BinaryIntegerOpInstr (Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id)
 
Token::Kind op_kind () const
 
Valueleft () const
 
Valueright () const
 
bool can_overflow () const
 
void set_can_overflow (bool overflow)
 
bool is_truncating () const
 
void mark_truncating ()
 
bool RightIsNonZero () const
 
bool RightIsPowerOfTwoConstant () const
 
virtual DefinitionCanonicalize (FlowGraph *flow_graph)
 
virtual bool AttributesEqual (const Instruction &other) const
 
virtual intptr_t DeoptimizationTarget () const
 
- Public Member Functions inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
 TemplateDefinition (intptr_t deopt_id=DeoptId::kNone)
 
 TemplateDefinition (const InstructionSource &source, intptr_t deopt_id=DeoptId::kNone)
 
virtual intptr_t InputCount () const
 
virtual ValueInputAt (intptr_t i) const
 

Additional Inherited Members

- Public Types inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
using BaseClass = typename Pure< Definition, PureDefinition >::Base
 
- Static Public Member Functions inherited from dart::BinaryIntegerOpInstr
static BinaryIntegerOpInstrMake (Representation representation, Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id, SpeculativeMode speculative_mode=kGuardInputs)
 
static BinaryIntegerOpInstrMake (Representation representation, Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id, bool can_overflow, bool is_truncating, Range *range, SpeculativeMode speculative_mode=kGuardInputs)
 
- Protected Attributes inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 9699 of file il.h.

Constructor & Destructor Documentation

◆ ShiftUint32OpInstr()

dart::ShiftUint32OpInstr::ShiftUint32OpInstr ( Token::Kind  op_kind,
Value left,
Value right,
intptr_t  deopt_id,
Range right_range = nullptr 
)
inline

Definition at line 9701 of file il.h.

9706 : ShiftIntegerOpInstr(op_kind, left, right, deopt_id, right_range) {}
Value * right() const
Definition il.h:9350
Token::Kind op_kind() const
Definition il.h:9348
Value * left() const
Definition il.h:9349
ShiftIntegerOpInstr(Token::Kind op_kind, Value *left, Value *right, intptr_t deopt_id, Range *right_range=nullptr)
Definition il.h:9594

Member Function Documentation

◆ ComputeCanDeoptimize()

virtual bool dart::ShiftUint32OpInstr::ComputeCanDeoptimize ( ) const
inlinevirtual

Definition at line 9711 of file il.h.

9711{ return false; }

◆ MayThrow()

virtual bool dart::ShiftUint32OpInstr::MayThrow ( ) const
inlinevirtual

Reimplemented from dart::TemplateDefinition< 2, NoThrow, Pure >.

Definition at line 9712 of file il.h.

9712 {
9713 return !IsShiftCountInRange(kUint32ShiftCountLimit);
9714 }
DECLARE_INSTRUCTION_SERIALIZABLE_FIELDS(ShiftIntegerOpInstr, BinaryIntegerOpInstr, FIELD_LIST) protected bool IsShiftCountInRange(int64_t max=kShiftCountLimit) const
Definition il.cc:2103

◆ representation()

virtual Representation dart::ShiftUint32OpInstr::representation ( ) const
inlinevirtual

Definition at line 9716 of file il.h.

9716{ return kUnboxedUint32; }

◆ RequiredInputRepresentation()

virtual Representation dart::ShiftUint32OpInstr::RequiredInputRepresentation ( intptr_t  idx) const
inlinevirtual

Definition at line 9718 of file il.h.

9718 {
9719 ASSERT((idx == 0) || (idx == 1));
9720 return (idx == 0) ? kUnboxedUint32 : kUnboxedInt64;
9721 }
#define ASSERT(E)

◆ SpeculativeModeOfInput()

virtual SpeculativeMode dart::ShiftUint32OpInstr::SpeculativeModeOfInput ( intptr_t  index) const
inlinevirtual

Definition at line 9708 of file il.h.

9708 {
9709 return kNotSpeculative;
9710 }

The documentation for this class was generated from the following file: