Make fur_edge accessible.

Move the decl of fur_edge out of the source file into the header file.

	* gimple-range-fold.cc (class fur_edge): Relocate from here.
	(fur_edge::fur_edge): Also move to:
	* gimple-range-fold.h (class fur_edge): Relocate to here.
	(fur_edge::fur_edge): Likewise.
This commit is contained in:
Andrew MacLeod 2024-10-31 15:44:15 -04:00
parent d949b94ea0
commit fe22e18c1b
2 changed files with 14 additions and 20 deletions

View File

@ -109,26 +109,6 @@ fur_source::register_relation (edge e ATTRIBUTE_UNUSED,
{
}
// This version of fur_source will pick a range up off an edge.
class fur_edge : public fur_source
{
public:
fur_edge (edge e, range_query *q = NULL);
virtual bool get_operand (vrange &r, tree expr) override;
virtual bool get_phi_operand (vrange &r, tree expr, edge e) override;
private:
edge m_edge;
};
// Instantiate an edge based fur_source.
inline
fur_edge::fur_edge (edge e, range_query *q) : fur_source (q)
{
m_edge = e;
}
// Get the value of EXPR on edge m_edge.
bool

View File

@ -150,6 +150,20 @@ public:
tree op2) override;
};
// This version of fur_source will pick a range up off an edge.
class fur_edge : public fur_source
{
public:
fur_edge (edge e, range_query *q = NULL) : fur_source (q)
{ m_edge = e; }
virtual bool get_operand (vrange &r, tree expr) override;
virtual bool get_phi_operand (vrange &r, tree expr, edge e) override;
private:
edge m_edge;
};
// This class uses ranges to fold a gimple statement producing a range for
// the LHS. The source of all operands is supplied via the fur_source class
// which provides a range_query as well as a source location and any other