Home | History | Annotate | Download | only in optimizing

Lines Matching refs:HInstruction

31 class HInstruction;
56 void AddInstruction(HInstruction* instruction);
57 void RemoveInstruction(HInstruction* instruction);
60 HInstruction* first_instruction_;
61 HInstruction* last_instruction_;
184 // The current id to assign to a newly added instruction. See HInstruction.id_.
302 HInstruction* GetFirstInstruction() const { return instructions_.first_instruction_; }
303 HInstruction* GetLastInstruction() const { return instructions_.last_instruction_; }
306 HInstruction* GetFirstPhi() const { return phis_.first_instruction_; }
352 void AddInstruction(HInstruction* instruction);
353 void RemoveInstruction(HInstruction* instruction);
354 void InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor);
480 class HInstruction : public ArenaObject {
482 HInstruction()
495 virtual ~HInstruction() {}
497 HInstruction* GetNext() const { return next_; }
498 HInstruction* GetPrevious() const { return previous_; }
506 virtual HInstruction* InputAt(size_t i) const = 0;
512 virtual void SetRawInputAt(size_t index, HInstruction* input) = 0;
517 void AddUseAt(HInstruction* user, size_t index) {
518 uses_ = new (block_->GetGraph()->GetArena()) HUseListNode<HInstruction>(user, index, uses_);
526 void RemoveUser(HInstruction* user, size_t index);
528 HUseListNode<HInstruction>* GetUses() const { return uses_; }
537 HUseListNode<HInstruction>* current = uses_;
559 void ReplaceWith(HInstruction* instruction);
579 HInstruction* previous_;
580 HInstruction* next_;
592 HUseListNode<HInstruction>* uses_;
612 DISALLOW_COPY_AND_ASSIGN(HInstruction);
648 void Populate(const GrowableArray<HInstruction*>& env) {
650 HInstruction* instruction = env.Get(i);
658 void SetRawEnvAt(size_t index, HInstruction* instruction) {
662 GrowableArray<HInstruction*>* GetVRegs() {
667 GrowableArray<HInstruction*> vregs_;
674 explicit HInputIterator(HInstruction* instruction) : instruction_(instruction), index_(0) {}
677 HInstruction* Current() const { return instruction_->InputAt(index_); }
681 HInstruction* instruction_;
695 HInstruction* Current() const { return instruction_; }
702 HInstruction* instruction_;
703 HInstruction* next_;
716 HInstruction* Current() const { return instruction_; }
723 HInstruction* instruction_;
724 HInstruction* next_;
777 class HTemplateInstruction: public HInstruction {
783 virtual HInstruction* InputAt(size_t i) const { return inputs_[i]; }
786 virtual void SetRawInputAt(size_t i, HInstruction* instruction) {
791 EmbeddedArray<HInstruction*, N> inputs_;
826 explicit HReturn(HInstruction* value) {
875 explicit HIf(HInstruction* input) {
900 HInstruction* left,
901 HInstruction* right) : HExpression(result_type) {
906 HInstruction* GetLeft() const { return InputAt(0); }
907 HInstruction* GetRight() const { return InputAt(1); }
918 HCondition(HInstruction* first, HInstruction* second)
935 HEqual(HInstruction* first, HInstruction* second)
950 HNotEqual(HInstruction* first, HInstruction* second)
965 HLessThan(HInstruction* first, HInstruction* second)
980 HLessThanOrEqual(HInstruction* first, HInstruction* second)
995 HGreaterThan(HInstruction* first, HInstruction* second)
1010 HGreaterThanOrEqual(HInstruction* first, HInstruction* second)
1028 HCompare(Primitive::Type type, HInstruction* first, HInstruction* second)
1075 HStoreLocal(HLocal* local, HInstruction* value) {
1128 class HInvoke : public HInstruction {
1141 virtual HInstruction* InputAt(size_t i) const { return inputs_.Get(i); }
1147 void SetArgumentAt(size_t index, HInstruction* argument) {
1151 virtual void SetRawInputAt(size_t index, HInstruction* input) {
1160 GrowableArray<HInstruction*> inputs_;
1210 HAdd(Primitive::Type result_type, HInstruction* left, HInstruction* right)
1223 HSub(Primitive::Type result_type, HInstruction* left, HInstruction* right)
1255 explicit HNot(HInstruction* input) : HExpression(Primitive::kPrimBoolean) {
1265 class HPhi : public HInstruction {
1276 virtual HInstruction* InputAt(size_t i) const { return inputs_.Get(i); }
1278 virtual void SetRawInputAt(size_t index, HInstruction* input) {
1282 void AddInput(HInstruction* input);
1297 GrowableArray<HInstruction*> inputs_;
1307 HNullCheck(HInstruction* value, uint32_t dex_pc)
1337 HInstanceFieldGet(HInstruction* value,
1356 HInstanceFieldSet(HInstruction* object,
1357 HInstruction* value,
1376 HArrayGet(HInstruction* array, HInstruction* index, Primitive::Type type)
1390 HArraySet(HInstruction* array,
1391 HInstruction* index,
1392 HInstruction* value,
1417 explicit HArrayLength(HInstruction* array) : HExpression(Primitive::kPrimInt) {
1429 HBoundsCheck(HInstruction* index, HInstruction* length, uint32_t dex_pc)
1450 * to stay live until the last HInstruction. This class
1452 * HInstruction stays live. `index` is the temporary number that is used
1556 virtual void VisitInstruction(HInstruction* instruction) {}