diff mbox

[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h

Message ID 5761570C.5090004@foss.arm.com
State New
Headers show

Commit Message

Kyrill Tkachov June 15, 2016, 1:24 p.m. UTC
Hi all,

This is a respin of https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00951.html.
This just moves the necessary declarations to expmed.h so that a file that includes
expmed.h can access the mult synthesis algorithms.

Bootstrapped and tested on x86_64, aarch64, arm.

Ok for trunk?

Thanks,
Kyrill

2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * expmed.c (mult_variant, choose_mult_variant): Move declaration to...
     * expmed.h: ... Here.

Comments

Richard Biener June 15, 2016, 1:33 p.m. UTC | #1
On Wed, Jun 15, 2016 at 3:24 PM, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
> Hi all,
>
> This is a respin of
> https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00951.html.
> This just moves the necessary declarations to expmed.h so that a file that
> includes
> expmed.h can access the mult synthesis algorithms.
>
> Bootstrapped and tested on x86_64, aarch64, arm.
>
> Ok for trunk?

Ok.

Thanks,
Richard.

> Thanks,
> Kyrill
>
> 2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>     * expmed.c (mult_variant, choose_mult_variant): Move declaration to...
>     * expmed.h: ... Here.
diff mbox

Patch

diff --git a/gcc/expmed.h b/gcc/expmed.h
index 1a32e9f1b664f250c5092022eb965237ed0342fc..4c2d94bf73114c5cf5014820a84b318ccee336e9 100644
--- a/gcc/expmed.h
+++ b/gcc/expmed.h
@@ -35,6 +35,15 @@  enum alg_code {
   alg_impossible
 };
 
+/* Indicates the type of fixup needed after a constant multiplication.
+   BASIC_VARIANT means no fixup is needed, NEGATE_VARIANT means that
+   the result should be negated, and ADD_VARIANT means that the
+   multiplicand should be added to the result.  */
+enum mult_variant {basic_variant, negate_variant, add_variant};
+
+bool choose_mult_variant (machine_mode, HOST_WIDE_INT,
+			  struct algorithm *, enum mult_variant *, int);
+
 /* This structure holds the "cost" of a multiply sequence.  The
    "cost" field holds the total rtx_cost of every operator in the
    synthetic multiplication sequence, hence cost(a op b) is defined
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 6645a535b3eef9624e6f3ce61d2fcf864d1cf574..bd29e42aae03742a856d0a4f1232a47ac254f8d6 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2482,16 +2482,8 @@  expand_variable_shift (enum tree_code code, machine_mode mode, rtx shifted,
 }
 
 
-/* Indicates the type of fixup needed after a constant multiplication.
-   BASIC_VARIANT means no fixup is needed, NEGATE_VARIANT means that
-   the result should be negated, and ADD_VARIANT means that the
-   multiplicand should be added to the result.  */
-enum mult_variant {basic_variant, negate_variant, add_variant};
-
 static void synth_mult (struct algorithm *, unsigned HOST_WIDE_INT,
 			const struct mult_cost *, machine_mode mode);
-static bool choose_mult_variant (machine_mode, HOST_WIDE_INT,
-				 struct algorithm *, enum mult_variant *, int);
 static rtx expand_mult_const (machine_mode, rtx, HOST_WIDE_INT, rtx,
 			      const struct algorithm *, enum mult_variant);
 static unsigned HOST_WIDE_INT invert_mod2n (unsigned HOST_WIDE_INT, int);
@@ -2981,7 +2973,7 @@  synth_mult (struct algorithm *alg_out, unsigned HOST_WIDE_INT t,
    Return true if the cheapest of these cost less than MULT_COST,
    describing the algorithm in *ALG and final fixup in *VARIANT.  */
 
-static bool
+bool
 choose_mult_variant (machine_mode mode, HOST_WIDE_INT val,
 		     struct algorithm *alg, enum mult_variant *variant,
 		     int mult_cost)