aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-scan.c
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2018-05-23 18:01:28 +0300
committerAlexander Monakov <amonakov@gcc.gnu.org>2018-05-23 18:01:28 +0300
commit3f13154553f8546ac3b2154440bca0cf556d57a7 (patch)
tree9cf283d5196a5658f09a6f4718bbfcf4b6cb5cf6 /gcc/df-scan.c
parent8851a51161fa471eaaa87c4d950b250178703008 (diff)
downloadgcc-3f13154553f8546ac3b2154440bca0cf556d57a7.zip
gcc-3f13154553f8546ac3b2154440bca0cf556d57a7.tar.gz
gcc-3f13154553f8546ac3b2154440bca0cf556d57a7.tar.bz2
df-scan: remove ad-hoc handling of global regs in asms
PR rtl-optimization/79985 * df-scan.c (df_insn_refs_collect): Remove special case for global registers and asm statements. testsuite/ * gcc.dg/pr79985.c: New testcase. From-SVN: r260613
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r--gcc/df-scan.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 95e1e0d..cbb08fc 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3207,17 +3207,6 @@ df_insn_refs_collect (struct df_collection_rec *collection_rec,
if (CALL_P (insn_info->insn))
df_get_call_refs (collection_rec, bb, insn_info, flags);
- if (asm_noperands (PATTERN (insn_info->insn)) >= 0)
- for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++)
- if (global_regs[i])
- {
- /* As with calls, asm statements reference all global regs. */
- df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],
- NULL, bb, insn_info, DF_REF_REG_USE, flags);
- df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],
- NULL, bb, insn_info, DF_REF_REG_DEF, flags);
- }
-
/* Record other defs. These should be mostly for DF_REF_REGULAR, so
that a qsort on the defs is unnecessary in most cases. */
df_defs_record (collection_rec,