aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2018-07-31 21:19:25 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2018-07-31 21:19:25 +0000
commitb348c78aa4ab72ea533a01ad24311f45b0b4f4cb (patch)
tree9077f5e87e913aebb0359956c2af7b904205d824 /gcc/final.c
parentfa6fd7b7afece6e0cfe197c9419ea3346d3c60b2 (diff)
downloadgcc-b348c78aa4ab72ea533a01ad24311f45b0b4f4cb.zip
gcc-b348c78aa4ab72ea533a01ad24311f45b0b4f4cb.tar.gz
gcc-b348c78aa4ab72ea533a01ad24311f45b0b4f4cb.tar.bz2
Save discriminator info for LTO
for gcc/ChangeLog * gimple-streamer-in.c (input_bb): Restore BB discriminator. * gimple-streamer-out.c (output_bb): Save it. * lto-streamer-in.c (input_struct_function_base): Restore instance discriminator if available. Create map on demand. * lto-streamer-out.c (output_struct_function_base): Save it if available. * final.c (decl_to_instance_map): Document LTO strategy. From-SVN: r263183
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c
index a8338e0..842e5e0 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3154,7 +3154,11 @@ final_scan_insn (rtx_insn *insn, FILE *file, int optimize_p,
/* Map DECLs to instance discriminators. This is allocated and
- defined in ada/gcc-interfaces/trans.c, when compiling with -gnateS. */
+ defined in ada/gcc-interfaces/trans.c, when compiling with -gnateS.
+ Mappings from this table are saved and restored for LTO, so
+ link-time compilation will have this map set, at least in
+ partitions containing at least one DECL with an associated instance
+ discriminator. */
decl_to_instance_map_t *decl_to_instance_map;