aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse-common.h
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2015-04-10 18:39:05 +0000
committerMichael Meissner <meissner@linux.vnet.ibm.com>2015-04-10 18:39:05 +0000
commitbc57afcfbb08ff10cc6fd036d580c71bfaf00ed8 (patch)
tree10f38072ae840828e4205e4f549020643cfeb678 /gcc/gcse-common.h
parent48796cb6a9ff1feb2f870a4d6bd1d49112265c12 (diff)
parent24aaa4722c67688820b40f62483a6243e552d447 (diff)
Merge up to 221977ibm/fusion3
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/fusion3@221980 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse-common.h')
-rw-r--r--gcc/gcse-common.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/gcse-common.h b/gcc/gcse-common.h
new file mode 100644
index 00000000000..a6b1a0c3bde
--- /dev/null
+++ b/gcc/gcse-common.h
@@ -0,0 +1,47 @@
+/* Structures and prototypes common across the normal GCSE
+ implementation and the post-reload implementation.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#ifndef GCC_GCSE_COMMON_H
+#define GCC_GCSE_COMMON_H
+
+typedef vec<rtx_insn *> vec_rtx_heap;
+typedef struct modify_pair_s
+{
+ rtx dest; /* A MEM. */
+ rtx dest_addr; /* The canonical address of `dest'. */
+} modify_pair;
+
+typedef vec<modify_pair> vec_modify_pair_heap;
+
+struct gcse_note_stores_info
+{
+ rtx_insn *insn;
+ vec<modify_pair> *canon_mem_list;
+};
+
+extern void compute_transp (const_rtx, int, sbitmap *, bitmap,
+ bitmap, vec<modify_pair> *);
+extern void record_last_mem_set_info_common (rtx_insn *,
+ vec<rtx_insn *> *,
+ vec<modify_pair> *,
+ bitmap, bitmap);
+
+
+#endif