Mercurial > hg > truffle
comparison src/share/vm/opto/superword.cpp @ 628:7bb995fbd3c0
Merge
author | trims |
---|---|
date | Thu, 12 Mar 2009 18:16:36 -0700 |
parents | 0fbdb4381b99 98cb887364d3 |
children | 78af5ae8e731 |
comparison
equal
deleted
inserted
replaced
580:ce2272390558 | 628:7bb995fbd3c0 |
---|---|
468 n = n->in(MemNode::Memory); | 468 n = n->in(MemNode::Memory); |
469 } | 469 } |
470 } | 470 } |
471 | 471 |
472 //------------------------------stmts_can_pack--------------------------- | 472 //------------------------------stmts_can_pack--------------------------- |
473 // Can s1 and s2 be in a pack with s1 immediately preceeding s2 and | 473 // Can s1 and s2 be in a pack with s1 immediately preceding s2 and |
474 // s1 aligned at "align" | 474 // s1 aligned at "align" |
475 bool SuperWord::stmts_can_pack(Node* s1, Node* s2, int align) { | 475 bool SuperWord::stmts_can_pack(Node* s1, Node* s2, int align) { |
476 if (isomorphic(s1, s2)) { | 476 if (isomorphic(s1, s2)) { |
477 if (independent(s1, s2)) { | 477 if (independent(s1, s2)) { |
478 if (!exists_at(s1, 0) && !exists_at(s2, 1)) { | 478 if (!exists_at(s1, 0) && !exists_at(s2, 1)) { |
867 | 867 |
868 // Return false if some input is not vector and inside block | 868 // Return false if some input is not vector and inside block |
869 for (uint i = start; i < end; i++) { | 869 for (uint i = start; i < end; i++) { |
870 if (!is_vector_use(p0, i)) { | 870 if (!is_vector_use(p0, i)) { |
871 // For now, return false if not scalar promotion case (inputs are the same.) | 871 // For now, return false if not scalar promotion case (inputs are the same.) |
872 // Later, implement PackNode and allow differring, non-vector inputs | 872 // Later, implement PackNode and allow differing, non-vector inputs |
873 // (maybe just the ones from outside the block.) | 873 // (maybe just the ones from outside the block.) |
874 Node* p0_def = p0->in(i); | 874 Node* p0_def = p0->in(i); |
875 for (uint j = 1; j < p->size(); j++) { | 875 for (uint j = 1; j < p->size(); j++) { |
876 Node* use = p->at(j); | 876 Node* use = p->at(j); |
877 Node* def = use->in(i); | 877 Node* def = use->in(i); |