Mercurial > hg > graal-compiler
comparison src/share/vm/opto/vectornode.hpp @ 3842:c7b60b601eb4
7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 27 Jul 2011 17:28:36 -0700 |
parents | 08eb13460b3a |
children | 8c92982cbbc4 |
comparison
equal
deleted
inserted
replaced
3841:0f34fdee809e | 3842:c7b60b601eb4 |
---|---|
45 public: | 45 public: |
46 friend class VectorLoadNode; // For vect_type | 46 friend class VectorLoadNode; // For vect_type |
47 friend class VectorStoreNode; // ditto. | 47 friend class VectorStoreNode; // ditto. |
48 | 48 |
49 VectorNode(Node* n1, uint vlen) : Node(NULL, n1), _length(vlen) { | 49 VectorNode(Node* n1, uint vlen) : Node(NULL, n1), _length(vlen) { |
50 init_flags(Flag_is_Vector); | 50 init_class_id(Class_Vector); |
51 } | 51 } |
52 VectorNode(Node* n1, Node* n2, uint vlen) : Node(NULL, n1, n2), _length(vlen) { | 52 VectorNode(Node* n1, Node* n2, uint vlen) : Node(NULL, n1, n2), _length(vlen) { |
53 init_flags(Flag_is_Vector); | 53 init_class_id(Class_Vector); |
54 } | 54 } |
55 virtual int Opcode() const; | 55 virtual int Opcode() const; |
56 | 56 |
57 uint length() const { return _length; } // Vector length | 57 uint length() const { return _length; } // Vector length |
58 | 58 |
387 } | 387 } |
388 | 388 |
389 public: | 389 public: |
390 VectorLoadNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const Type *rt) | 390 VectorLoadNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const Type *rt) |
391 : LoadNode(c,mem,adr,at,rt) { | 391 : LoadNode(c,mem,adr,at,rt) { |
392 init_flags(Flag_is_Vector); | 392 init_class_id(Class_VectorLoad); |
393 } | 393 } |
394 virtual int Opcode() const; | 394 virtual int Opcode() const; |
395 | 395 |
396 virtual uint length() const = 0; // Vector length | 396 virtual uint length() const = 0; // Vector length |
397 | 397 |
615 virtual BasicType elt_basic_type() const = 0; // Vector element basic type | 615 virtual BasicType elt_basic_type() const = 0; // Vector element basic type |
616 | 616 |
617 public: | 617 public: |
618 VectorStoreNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val) | 618 VectorStoreNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val) |
619 : StoreNode(c,mem,adr,at,val) { | 619 : StoreNode(c,mem,adr,at,val) { |
620 init_flags(Flag_is_Vector); | 620 init_class_id(Class_VectorStore); |
621 } | 621 } |
622 virtual int Opcode() const; | 622 virtual int Opcode() const; |
623 | 623 |
624 virtual uint length() const = 0; // Vector length | 624 virtual uint length() const = 0; // Vector length |
625 | 625 |
633 | 633 |
634 // Vector opcode from scalar opcode | 634 // Vector opcode from scalar opcode |
635 static int opcode(int sopc, uint vlen); | 635 static int opcode(int sopc, uint vlen); |
636 | 636 |
637 static VectorStoreNode* make(Compile* C, int opc, Node* ctl, Node* mem, | 637 static VectorStoreNode* make(Compile* C, int opc, Node* ctl, Node* mem, |
638 Node* adr, const TypePtr* atyp, VectorNode* val, | 638 Node* adr, const TypePtr* atyp, Node* val, |
639 uint vlen); | 639 uint vlen); |
640 }; | 640 }; |
641 | 641 |
642 //------------------------------Store16BNode-------------------------------------- | 642 //------------------------------Store16BNode-------------------------------------- |
643 // Vector store of 16 bytes (8bits signed) to memory | 643 // Vector store of 16 bytes (8bits signed) to memory |