< prev index next >
src/hotspot/share/opto/subnode.hpp
Print this page
*** 446,457 ****
--- 446,462 ----
// square root a float
class SqrtFNode : public Node {
public:
SqrtFNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
init_flags(Flag_is_expensive);
+ if (c != NULL) {
+ // Treat node only as expensive if a control input is set because it might
+ // be created from a SqrtDNode in ConvD2FNode::Ideal() that was found to
+ // be unique and therefore has no control input.
C->add_expensive_node(this);
}
+ }
virtual int Opcode() const;
const Type *bottom_type() const { return Type::FLOAT; }
virtual uint ideal_reg() const { return Op_RegF; }
virtual const Type* Value(PhaseGVN* phase) const;
};
< prev index next >