aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2016-07-14 13:57:05 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2016-07-14 13:57:05 +0000
commitec573d17b874fe0528f47b7522905fffe9803d48 (patch)
tree3dc359817317863344f51515c8225727c5202651
parent21bcd7bedde07878098db00fc4042a85939077a2 (diff)
downloadgcc-ec573d17b874fe0528f47b7522905fffe9803d48.zip
gcc-ec573d17b874fe0528f47b7522905fffe9803d48.tar.gz
gcc-ec573d17b874fe0528f47b7522905fffe9803d48.tar.bz2
[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
* expmed.c (mult_variant, choose_mult_variant): Move declaration to... * expmed.h: ... Here. From-SVN: r238337
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expmed.c10
-rw-r--r--gcc/expmed.h9
3 files changed, 15 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5830663..e04e48a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expmed.c (mult_variant, choose_mult_variant): Move declaration to...
+ * expmed.h: ... Here.
+
2016-07-14 Jan Hubicka <hubicka@ucw.cz>
* gimple.h (stmt_can_terminate_bb_p): New function.
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 6645a53..bd29e42 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)
diff --git a/gcc/expmed.h b/gcc/expmed.h
index 1279199..cbceaf1 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