aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.c
diff options
context:
space:
mode:
authorAndrew Macleod <amacleod@gcc.gnu.org>2013-10-18 12:39:34 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>2013-10-18 12:39:34 +0000
commit377d9792759129b52e9fa1f5fff1e56c9cade399 (patch)
treeaeb93841dcc0c6f4da704c90ee59e2127934f0f2 /gcc/gimple.c
parent8ad8afaf72139fb49d5cbcae89115c340ee59a6e (diff)
downloadgcc-377d9792759129b52e9fa1f5fff1e56c9cade399.zip
gcc-377d9792759129b52e9fa1f5fff1e56c9cade399.tar.gz
gcc-377d9792759129b52e9fa1f5fff1e56c9cade399.tar.bz2
tree-cfg.h: Rename from tree-flow.h.
* tree-cfg.h: Rename from tree-flow.h. Remove #includes. * tree-ssa.h: Relocate required #includes from tree-cfg.h. * tree-ssa-operands.h: Remove prototype. * tree-ssa-operands.c (virtual_operand_p): Move to gimple.c. * gimple.c (virtual_operand_p): Relocate from gimple.c. * gimple.h: Add prototype. * gimple-ssa.h: Include tree-ssa-operands.h. * tree-dump.c: Add tree-cfg.h to include list. * tree-ssa-alias.c: Add ipa-reference.h to include list. * config/alpha/alpha.c: Include gimple-ssa.h instead of tree-flow.h. * config/i386/i386.c: Don't include tree-flow.h. * config/rs6000/rs6000.c: Likewise. * lto/lto.c: Remove tree-flow.h from include list. * testsuite/g++.dg/plugin/header_plugin.c: Don't include tree-flow.h. From-SVN: r203817
Diffstat (limited to 'gcc/gimple.c')
-rw-r--r--gcc/gimple.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/gcc/gimple.c b/gcc/gimple.c
index 573dbb1..3ddceb9 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -30,12 +30,12 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "gimple.h"
#include "diagnostic.h"
-#include "tree-flow.h"
#include "value-prof.h"
#include "flags.h"
#include "alias.h"
#include "demangle.h"
#include "langhooks.h"
+#include "bitmap.h"
/* All the tuples have their operand vector (if present) at the very bottom
@@ -2776,6 +2776,25 @@ is_gimple_id (tree t)
|| TREE_CODE (t) == STRING_CST);
}
+/* Return true if OP, an SSA name or a DECL is a virtual operand. */
+
+bool
+virtual_operand_p (tree op)
+{
+ if (TREE_CODE (op) == SSA_NAME)
+ {
+ op = SSA_NAME_VAR (op);
+ if (!op)
+ return false;
+ }
+
+ if (TREE_CODE (op) == VAR_DECL)
+ return VAR_DECL_IS_VIRTUAL_OPERAND (op);
+
+ return false;
+}
+
+
/* Return true if T is a non-aggregate register variable. */
bool