https://gcc.gnu.org/g:08054021c88d028ce313ec80c034d42a84ee8276
commit r14-10875-g08054021c88d028ce313ec80c034d42a84ee8276 Author: Andrew MacLeod <amacl...@redhat.com> Date: Fri Nov 1 10:56:54 2024 -0400 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. Diff: --- gcc/gimple-range-fold.cc | 20 -------------------- gcc/gimple-range-fold.h | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc index 9c4ad1ee7b91..8020a1a3c63b 100644 --- a/gcc/gimple-range-fold.cc +++ b/gcc/gimple-range-fold.cc @@ -108,26 +108,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 7cbe15d05e53..a619a530769e 100644 --- a/gcc/gimple-range-fold.h +++ b/gcc/gimple-range-fold.h @@ -142,6 +142,20 @@ protected: relation_oracle *m_oracle; }; + +// 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