aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c36
2 files changed, 24 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 433c0cb..efa78dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-10-14 Catherine Moore <clm@codesourcery.com>
+
+ * gcc/config/mips/mips.c (mips_prepare_pch_save): Initialize
+ micromips_globals to zero.
+
2016-10-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/77979
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 43174b4..ebec68e 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -20856,28 +20856,30 @@ mips_shift_truncation_mask (machine_mode mode)
static void
mips_prepare_pch_save (void)
{
- /* We are called in a context where the current MIPS16 vs. non-MIPS16
- setting should be irrelevant. The question then is: which setting
- makes most sense at load time?
+ /* We are called in a context where the current compression vs.
+ non-compression setting should be irrelevant. The question then is:
+ which setting makes most sense at load time?
- The PCH is loaded before the first token is read. We should never
- have switched into MIPS16 mode by that point, and thus should not
- have populated mips16_globals. Nor can we load the entire contents
- of mips16_globals from the PCH file, because mips16_globals contains
- a combination of GGC and non-GGC data.
+ The PCH is loaded before the first token is read. We should never have
+ switched into a compression mode by that point, and thus should not have
+ populated mips16_globals or micromips_globals. Nor can we load the
+ entire contents of mips16_globals or micromips_globals from the PCH file,
+ because they contain a combination of GGC and non-GGC data.
There is therefore no point in trying save the GGC part of
- mips16_globals to the PCH file, or to preserve MIPS16ness across
- the PCH save and load. The loading compiler would not have access
- to the non-GGC parts of mips16_globals (either from the PCH file,
- or from a copy that the loading compiler generated itself) and would
- have to call target_reinit anyway.
-
- It therefore seems best to switch back to non-MIPS16 mode at
- save time, and to ensure that mips16_globals remains null after
- a PCH load. */
+ mips16_globals/micromips_globals to the PCH file, or to preserve a
+ compression setting across the PCH save and load. The loading compiler
+ would not have access to the non-GGC parts of mips16_globals or
+ micromips_globals (either from the PCH file, or from a copy that the
+ loading compiler generated itself) and would have to call target_reinit
+ anyway.
+
+ It therefore seems best to switch back to non-MIPS16 mode and
+ non-microMIPS mode to save time, and to ensure that mips16_globals and
+ micromips_globals remain null after a PCH load. */
mips_set_compression_mode (0);
mips16_globals = 0;
+ micromips_globals = 0;
}
/* Generate or test for an insn that supports a constant permutation. */