aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-10-31 15:44:15 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-11-01 15:24:09 -0400
commitfe22e18c1b00f4d95aec6d40333aecd1e9c700c7 (patch)
tree7bfac74c391608f116552c0e8654d8c5cfdaa083
parentd949b94ea0c4206c5188a38aa045729cfc149386 (diff)
downloadgcc-fe22e18c1b00f4d95aec6d40333aecd1e9c700c7.zip
gcc-fe22e18c1b00f4d95aec6d40333aecd1e9c700c7.tar.gz
gcc-fe22e18c1b00f4d95aec6d40333aecd1e9c700c7.tar.bz2
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.
-rw-r--r--gcc/gimple-range-fold.cc20
-rw-r--r--gcc/gimple-range-fold.h14
2 files changed, 14 insertions, 20 deletions
diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc
index 82dd363..a4063b7 100644
--- a/gcc/gimple-range-fold.cc
+++ b/gcc/gimple-range-fold.cc
@@ -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
diff --git a/gcc/gimple-range-fold.h b/gcc/gimple-range-fold.h
index 37c4959..1095108 100644
--- a/gcc/gimple-range-fold.h
+++ b/gcc/gimple-range-fold.h
@@ -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