< prev index next >
src/share/vm/opto/loopnode.cpp
Print this page
*** 895,905 ****
return stride()->bottom_type()->is_int()->get_con();
}
//=============================================================================
//------------------------------Value-----------------------------------------
! const Type *LoopLimitNode::Value( PhaseTransform *phase ) const {
const Type* init_t = phase->type(in(Init));
const Type* limit_t = phase->type(in(Limit));
const Type* stride_t = phase->type(in(Stride));
// Either input is TOP ==> the result is TOP
if (init_t == Type::TOP) return Type::TOP;
--- 895,905 ----
return stride()->bottom_type()->is_int()->get_con();
}
//=============================================================================
//------------------------------Value-----------------------------------------
! const Type* LoopLimitNode::Value(PhaseGVN* phase) const {
const Type* init_t = phase->type(in(Init));
const Type* limit_t = phase->type(in(Limit));
const Type* stride_t = phase->type(in(Stride));
// Either input is TOP ==> the result is TOP
if (init_t == Type::TOP) return Type::TOP;
*** 1009,1019 ****
return NULL; // No progress
}
//------------------------------Identity---------------------------------------
// If stride == 1 return limit node.
! Node *LoopLimitNode::Identity( PhaseTransform *phase ) {
int stride_con = phase->type(in(Stride))->is_int()->get_con();
if (stride_con == 1 || stride_con == -1)
return in(Limit);
return this;
}
--- 1009,1019 ----
return NULL; // No progress
}
//------------------------------Identity---------------------------------------
// If stride == 1 return limit node.
! Node* LoopLimitNode::Identity(PhaseGVN* phase) {
int stride_con = phase->type(in(Stride))->is_int()->get_con();
if (stride_con == 1 || stride_con == -1)
return in(Limit);
return this;
}
< prev index next >