aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2020-12-17 00:15:11 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2020-12-17 00:15:11 +0000
commit73b7582775254b764fd92ddb252a33dc15872c69 (patch)
tree38129e29d87038770d57774a028345d7a78eb3e6 /gcc/emit-rtl.h
parent47d52e17adf48093cc30d01707652018deb32a6c (diff)
downloadgcc-73b7582775254b764fd92ddb252a33dc15872c69.zip
gcc-73b7582775254b764fd92ddb252a33dc15872c69.tar.gz
gcc-73b7582775254b764fd92ddb252a33dc15872c69.tar.bz2
Add rtl-ssa
This patch adds the RTL SSA infrastructure itself. The following fwprop.c patch will make use of it. gcc/ * configure.ac: Add rtl-ssa to the list of dependence directories. * configure: Regenerate. * Makefile.in (rtl-ssa-warn): New variable. (OBJS): Add the rtl-ssa object files. * emit-rtl.h (rtl_data::ssa): New field. * rtl-ssa.h: New file. * system.h: Include <functional> when INCLUDE_FUNCTIONAL is defined. * rtl-ssa/access-utils.h: Likewise. * rtl-ssa/accesses.h: New file. * rtl-ssa/accesses.cc: Likewise. * rtl-ssa/blocks.h: New file. * rtl-ssa/blocks.cc: Likewise. * rtl-ssa/change-utils.h: Likewise. * rtl-ssa/changes.h: New file. * rtl-ssa/changes.cc: Likewise. * rtl-ssa/functions.h: New file. * rtl-ssa/functions.cc: Likewise. * rtl-ssa/insn-utils.h: Likewise. * rtl-ssa/insns.h: New file. * rtl-ssa/insns.cc: Likewise. * rtl-ssa/internals.inl: Likewise. * rtl-ssa/is-a.inl: Likewise. * rtl-ssa/member-fns.inl: Likewise. * rtl-ssa/movement.h: Likewise.
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r--gcc/emit-rtl.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 4658c4a..b20cd76 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see
class temp_slot;
typedef class temp_slot *temp_slot_p;
class predefined_function_abi;
+namespace rtl_ssa { class function_info; }
/* Information mainlined about RTL representation of incoming arguments. */
struct GTY(()) incoming_args {
@@ -73,6 +74,8 @@ struct GTY(()) rtl_data {
different ABIs. */
const predefined_function_abi *GTY((skip)) abi;
+ rtl_ssa::function_info *GTY((skip)) ssa;
+
/* For function.c */
/* # of bytes of outgoing arguments. If ACCUMULATE_OUTGOING_ARGS is