src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/subnode.cpp

src/share/vm/opto/subnode.cpp

Print this page
rev 10168 : 8003585: strength reduce or eliminate range checks for power-of-two sized arrays
Summary: change ((x & m) u<= m) to always true and ((x & (m - 1)) u< m) into (m > 0)
Reviewed-by: kvn, roland
rev 10222 : 8149745: C2 should optimize long accumulations in a counted loop
summary: Look for parallel iv for long adds
Reviewed-by:

*** 109,118 **** --- 109,129 ---- const Type* t2 = phase->type(in(2)); return sub(t1,t2); // Local flavor of type subtraction } + SubNode* SubNode::make(BasicType bt, Node *in1, Node *in2) { + switch(bt) { + case T_INT: return new SubINode(in1, in2); + case T_LONG: return new SubLNode(in1, in2); + case T_FLOAT: return new SubFNode(in1, in2); + case T_DOUBLE: return new SubDNode(in1, in2); + } + fatal("Bad basic type %s", type2name(bt)); + return NULL; + } + //============================================================================= //------------------------------Helper function-------------------------------- static bool ok_to_convert(Node* inc, Node* iv) { // Do not collapse (x+c0)-y if "+" is a loop increment, because the
src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File