aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadbackward.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-10-27 21:31:35 +0200
committerAldy Hernandez <aldyh@redhat.com>2021-10-28 14:30:06 +0200
commit7f6c22585229b43b13fc9c8d3c08aedd9f7c493a (patch)
tree399029c293f6bf95648cb838a5c52831c9ecab76 /gcc/tree-ssa-threadbackward.c
parenta84b9d5373c7e67fd0ab2a412c22162cdf969c91 (diff)
downloadgcc-7f6c22585229b43b13fc9c8d3c08aedd9f7c493a.zip
gcc-7f6c22585229b43b13fc9c8d3c08aedd9f7c493a.tar.gz
gcc-7f6c22585229b43b13fc9c8d3c08aedd9f7c493a.tar.bz2
Make back_threader_registry inherit from back_jt_path_registry.
When a class's only purpose is to expose the methods of its only member, it's really a derived class ;-). Tested on x86-64 Linux. gcc/ChangeLog: * tree-ssa-threadbackward.c (class back_threader_registry): Inherit from back_jt_path_registry. (back_threader_registry::thread_through_all_blocks): Remove. (back_threader_registry::register_path): Remove m_lowlevel_registry prefix.
Diffstat (limited to 'gcc/tree-ssa-threadbackward.c')
-rw-r--r--gcc/tree-ssa-threadbackward.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c
index d9ce056..6c1b159 100644
--- a/gcc/tree-ssa-threadbackward.c
+++ b/gcc/tree-ssa-threadbackward.c
@@ -49,13 +49,10 @@ along with GCC; see the file COPYING3. If not see
// registered with register_path(), thread_through_all_blocks() is called
// to modify the CFG.
-class back_threader_registry
+class back_threader_registry : public back_jt_path_registry
{
public:
bool register_path (const vec<basic_block> &, edge taken);
- bool thread_through_all_blocks (bool may_peel_loop_headers);
-private:
- back_jt_path_registry m_lowlevel_registry;
};
// Class to abstract the profitability code for the backwards threader.
@@ -541,12 +538,6 @@ back_threader::debug ()
dump (stderr);
}
-bool
-back_threader_registry::thread_through_all_blocks (bool may_peel_loop_headers)
-{
- return m_lowlevel_registry.thread_through_all_blocks (may_peel_loop_headers);
-}
-
/* Examine jump threading path PATH and return TRUE if it is profitable to
thread it, otherwise return FALSE.
@@ -873,8 +864,7 @@ bool
back_threader_registry::register_path (const vec<basic_block> &m_path,
edge taken_edge)
{
- vec<jump_thread_edge *> *jump_thread_path
- = m_lowlevel_registry.allocate_thread_path ();
+ vec<jump_thread_edge *> *jump_thread_path = allocate_thread_path ();
// The generic copier ignores the edge type. We can build the
// thread edges with any type.
@@ -885,12 +875,11 @@ back_threader_registry::register_path (const vec<basic_block> &m_path,
edge e = find_edge (bb1, bb2);
gcc_assert (e);
- m_lowlevel_registry.push_edge (jump_thread_path, e, EDGE_COPY_SRC_BLOCK);
+ push_edge (jump_thread_path, e, EDGE_COPY_SRC_BLOCK);
}
- m_lowlevel_registry.push_edge (jump_thread_path,
- taken_edge, EDGE_NO_COPY_SRC_BLOCK);
- m_lowlevel_registry.register_jump_thread (jump_thread_path);
+ push_edge (jump_thread_path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
+ register_jump_thread (jump_thread_path);
return true;
}