Lines Matching refs:addp
2090 Node* ConnectionGraph::get_addp_base(Node *addp) {
2091 assert(addp->is_AddP(), "must be AddP");
2153 Node *base = addp->in(AddPNode::Base);
2155 base = addp->in(AddPNode::Address);
2171 Node* ConnectionGraph::find_second_addp(Node* addp, Node* n) {
2172 assert(addp->is_AddP() && addp->outcnt() > 0, "Don't process dead nodes");
2173 Node* addp2 = addp->raw_out(0);
2174 if (addp->outcnt() == 1 && addp2->is_AddP() &&
2176 addp2->in(AddPNode::Address) == addp) {
2177 assert(addp->in(AddPNode::Base) == n, "expecting the same base");
2215 bool ConnectionGraph::split_AddP(Node *addp, Node *base) {
2219 const TypeOopPtr *t = igvn->type(addp)->isa_oopptr();
2223 assert(igvn->type(addp) == TypeRawPtr::NOTNULL, "must be raw pointer");
2224 assert(addp->in(AddPNode::Address)->is_Proj(), "base of raw address must be result projection from allocation");
2225 intptr_t offs = (int)igvn->find_intptr_t_con(addp->in(AddPNode::Offset), Type::OffsetBot);
2258 igvn->set_type(addp, tinst);
2260 set_map(addp, get_map(base->_idx));
2261 // Set addp's Base and Address to 'base'.
2262 Node *abase = addp->in(AddPNode::Base);
2263 Node *adr = addp->in(AddPNode::Address);
2270 igvn->hash_delete(addp);
2271 addp->set_req(AddPNode::Base, base);
2273 addp->set_req(AddPNode::Address, base);
2282 igvn->hash_insert(addp);
2285 // Put on IGVN worklist since at least addp's type was changed above.
2286 record_for_optimizer(addp);