diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2020-12-17 00:15:11 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-12-17 00:15:11 +0000 |
commit | 73b7582775254b764fd92ddb252a33dc15872c69 (patch) | |
tree | 38129e29d87038770d57774a028345d7a78eb3e6 /gcc/rtl-ssa.h | |
parent | 47d52e17adf48093cc30d01707652018deb32a6c (diff) | |
download | gcc-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/rtl-ssa.h')
-rw-r--r-- | gcc/rtl-ssa.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gcc/rtl-ssa.h b/gcc/rtl-ssa.h new file mode 100644 index 0000000..60cdad0 --- /dev/null +++ b/gcc/rtl-ssa.h @@ -0,0 +1,71 @@ +// On-the-side RTL SSA representation -*- C++ -*- +// Copyright (C) 2020 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_RTL_SSA_H +#define GCC_RTL_SSA_H 1 + +// This is an aggregation header file. This means it should contain only +// other include files. + +#if 0 +// Files that use this one should first have: +#define INCLUDE_ALGORITHM +#define INCLUDE_FUNCTIONAL +#include "config.h" +#include "system.h" +#include "coretypes.h" +#include "backend.h" +#include "rtl.h" +#include "df.h" +#endif + +// Needed by splay-tree-utils.h and directly by rtl-ssa. +#include "pretty-print.h" + +// Needed directly by recog.h. +#include "insn-config.h" + +// Needed directly by rtl-ssa. +#include "splay-tree-utils.h" +#include "recog.h" +#include "regs.h" +#include "function-abi.h" +#include "obstack-utils.h" +#include "mux-utils.h" +#include "rtlanal.h" + +// Provides the global crtl->ssa. +#include "tm_p.h" +#include "memmodel.h" +#include "emit-rtl.h" + +// The rtl-ssa files themselves. +#include "rtl-ssa/accesses.h" +#include "rtl-ssa/insns.h" +#include "rtl-ssa/blocks.h" +#include "rtl-ssa/changes.h" +#include "rtl-ssa/functions.h" +#include "rtl-ssa/is-a.inl" +#include "rtl-ssa/access-utils.h" +#include "rtl-ssa/insn-utils.h" +#include "rtl-ssa/movement.h" +#include "rtl-ssa/change-utils.h" +#include "rtl-ssa/member-fns.inl" + +#endif |