+2016-04-27 David Malcolm <dmalcolm@redhat.com>
+
+ * df-core.c (df_add_problem): Make the problem param be const.
+ (df_remove_problem): Make local "problem" be const.
+ * df-problems.c (problem_RD): Make const.
+ (problem_LR): Likewise.
+ (problem_LIVE): Likewise.
+ (problem_MIR): Likewise.
+ (problem_CHAIN): Likewise.
+ (problem_WORD_LR): Likewise.
+ (problem_NOTE): Likewise.
+ (problem_MD): Likewise.
+ * df-scan.c (problem_SCAN): Likewise.
+ * df.h (struct df_problem): Make field "dependent_problem" be
+ const.
+ (struct dataflow): Likewise for field "problem".
+ (df_add_problem): Make param const.
+
2016-04-27 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
/* Add PROBLEM (and any dependent problems) to the DF instance. */
void
-df_add_problem (struct df_problem *problem)
+df_add_problem (const struct df_problem *problem)
{
struct dataflow *dflow;
int i;
void
df_remove_problem (struct dataflow *dflow)
{
- struct df_problem *problem;
+ const struct df_problem *problem;
int i;
if (!dflow)
/* All of the information associated with every instance of the problem. */
-static struct df_problem problem_RD =
+static const struct df_problem problem_RD =
{
DF_RD, /* Problem id. */
DF_FORWARD, /* Direction. */
/* All of the information associated with every instance of the problem. */
-static struct df_problem problem_LR =
+static const struct df_problem problem_LR =
{
DF_LR, /* Problem id. */
DF_BACKWARD, /* Direction. */
/* All of the information associated with every instance of the problem. */
-static struct df_problem problem_LIVE =
+static const struct df_problem problem_LIVE =
{
DF_LIVE, /* Problem id. */
DF_FORWARD, /* Direction. */
/* All of the information associated with every instance of the problem. */
-static struct df_problem problem_MIR =
+static const struct df_problem problem_MIR =
{
DF_MIR, /* Problem id. */
DF_FORWARD, /* Direction. */
}
}
-static struct df_problem problem_CHAIN =
+static const struct df_problem problem_CHAIN =
{
DF_CHAIN, /* Problem id. */
DF_NONE, /* Direction. */
/* All of the information associated with every instance of the problem. */
-static struct df_problem problem_WORD_LR =
+static const struct df_problem problem_WORD_LR =
{
DF_WORD_LR, /* Problem id. */
DF_BACKWARD, /* Direction. */
/* All of the information associated every instance of the problem. */
-static struct df_problem problem_NOTE =
+static const struct df_problem problem_NOTE =
{
DF_NOTE, /* Problem id. */
DF_NONE, /* Direction. */
df_print_regset (file, &bb_info->out);
}
-static struct df_problem problem_MD =
+static const struct df_problem problem_MD =
{
DF_MD, /* Problem id. */
DF_FORWARD, /* Direction. */
#endif
}
-static struct df_problem problem_SCAN =
+static const struct df_problem problem_SCAN =
{
DF_SCAN, /* Problem id. */
DF_NONE, /* Direction. */
df_dump_insn_problem_function dump_insn_bottom_fun;
df_verify_solution_start verify_start_fun;
df_verify_solution_end verify_end_fun;
- struct df_problem *dependent_problem;
+ const struct df_problem *dependent_problem;
unsigned int block_info_elt_size;
/* The timevar id associated with this pass. */
/* The specific instance of the problem to solve. */
struct dataflow
{
- struct df_problem *problem; /* The problem to be solved. */
+ const struct df_problem *problem; /* The problem to be solved. */
/* Array indexed by bb->index, that contains basic block problem and
solution specific information. */
/* Functions defined in df-core.c. */
-extern void df_add_problem (struct df_problem *);
+extern void df_add_problem (const struct df_problem *);
extern int df_set_flags (int);
extern int df_clear_flags (int);
extern void df_set_blocks (bitmap);