summaryrefslogtreecommitdiff
path: root/gcc/lower-subreg.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/lower-subreg.c')
-rw-r--r--gcc/lower-subreg.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index 89d976390a5..bdad2a6aa9c 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -1689,22 +1689,6 @@ decompose_multiword_subregs (bool decompose_copies)
/* Implement first lower subreg pass. */
-static unsigned int
-rest_of_handle_lower_subreg (void)
-{
- decompose_multiword_subregs (false);
- return 0;
-}
-
-/* Implement second lower subreg pass. */
-
-static unsigned int
-rest_of_handle_lower_subreg2 (void)
-{
- decompose_multiword_subregs (true);
- return 0;
-}
-
namespace {
const pass_data pass_data_lower_subreg =
@@ -1730,7 +1714,11 @@ public:
/* opt_pass methods: */
virtual bool gate (function *) { return flag_split_wide_types != 0; }
- unsigned int execute () { return rest_of_handle_lower_subreg (); }
+ virtual unsigned int execute (function *)
+ {
+ decompose_multiword_subregs (false);
+ return 0;
+ }
}; // class pass_lower_subreg
@@ -1742,6 +1730,8 @@ make_pass_lower_subreg (gcc::context *ctxt)
return new pass_lower_subreg (ctxt);
}
+/* Implement second lower subreg pass. */
+
namespace {
const pass_data pass_data_lower_subreg2 =
@@ -1768,7 +1758,11 @@ public:
/* opt_pass methods: */
virtual bool gate (function *) { return flag_split_wide_types != 0; }
- unsigned int execute () { return rest_of_handle_lower_subreg2 (); }
+ virtual unsigned int execute (function *)
+ {
+ decompose_multiword_subregs (true);
+ return 0;
+ }
}; // class pass_lower_subreg2