< 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 >