aboutsummaryrefslogtreecommitdiff
path: root/gcc/timevar.def
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2015-10-19 23:47:35 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2015-10-19 23:47:35 +0000
commit524d9b4b9035ff69f1024ca2c32c7217128f3cf9 (patch)
treed4b672674b050b5804bf9a28e4d83b5c24ea0d85 /gcc/timevar.def
parent32308c8db4af9260cafcb517fe020dff5280f993 (diff)
downloadgcc-524d9b4b9035ff69f1024ca2c32c7217128f3cf9.zip
gcc-524d9b4b9035ff69f1024ca2c32c7217128f3cf9.tar.gz
gcc-524d9b4b9035ff69f1024ca2c32c7217128f3cf9.tar.bz2
REE: fix uninitialized registers handling
gcc/ChangeLog: PR rtl-optimization/66790 * df.h (DF_MIR): New macro. (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR (DF_MIR_INFO_BB): New macro. (DF_MIR_IN, DF_MIR_OUT): New macros. (struct df_mir_bb_info): New. (df_mir): New macro. (df_mir_add_problem, df_mir_simulate_one_insn): New forward declarations. (df_mir_get_bb_info): New. * df-problems.c (struct df_mir_problem_data): New. (df_mir_free_bb_info, df_mir_alloc, df_mir_reset, df_mir_bb_local_compute, df_mir_local_compute, df_mir_init, df_mir_confluence_0, df_mir_confluence_n, df_mir_transfer_function, df_mir_free, df_mir_top_dump, df_mir_bottom_dump, df_mir_verify_solution_start, df_mir_verify_solution_end): New. (problem_MIR): New. (df_mir_add_problem, df_mir_simulate_one_insn): New. * timevar.def (TV_DF_MIR): New. * ree.c: Include bitmap.h (add_removable_extension): Add an INIT_REGS parameter. Use it to skip zero-extensions that may get an uninitialized register. (find_removable_extensions): Compute must-initialized registers using the MIR dataflow problem. Update the call to add_removable_extension. (find_and_remove_re): Call df_mir_add_problem. gcc/testsuite/ChangeLog: * gnat.dg/opt50.adb: New test. * gnat.dg/opt50_pkg.adb: New helper. * gnat.dg/opt50_pkg.ads: New helper. From-SVN: r229008
Diffstat (limited to 'gcc/timevar.def')
-rw-r--r--gcc/timevar.def1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/timevar.def b/gcc/timevar.def
index ac41075..2fbfb17 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -115,6 +115,7 @@ DEFTIMEVAR (TV_DF_MD , "df multiple defs")
DEFTIMEVAR (TV_DF_RD , "df reaching defs")
DEFTIMEVAR (TV_DF_LR , "df live regs")
DEFTIMEVAR (TV_DF_LIVE , "df live&initialized regs")
+DEFTIMEVAR (TV_DF_MIR , "df must-initialized regs")
DEFTIMEVAR (TV_DF_CHAIN , "df use-def / def-use chains")
DEFTIMEVAR (TV_DF_WORD_LR , "df live reg subwords")
DEFTIMEVAR (TV_DF_NOTE , "df reg dead/unused notes")