From 50e6a1482b76a0a06aabf4587bf97da846ff2578 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Wed, 18 Dec 2013 17:32:07 +0000 Subject: [PATCH] tree-ssa.texi (SSA Operands): Remove reference to SSA_OP_VMAYUSE. * doc/tree-ssa.texi (SSA Operands): Remove reference to SSA_OP_VMAYUSE. Synchronize SSA_OP* definitions with source. * ssa-iterators.h: Fix comment for FOR_EACH_IMM_USE_STMT. Add not to SSA_OP* macro definitions. From-SVN: r206091 --- gcc/ChangeLog | 8 ++++++++ gcc/doc/tree-ssa.texi | 35 ++++++++++------------------------- gcc/ssa-iterators.h | 4 ++-- 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 83e8321..e595132 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2013-12-18 Aldy Hernandez + + * doc/tree-ssa.texi (SSA Operands): Remove reference to + SSA_OP_VMAYUSE. + Synchronize SSA_OP* definitions with source. + * ssa-iterators.h: Fix comment for FOR_EACH_IMM_USE_STMT. + Add not to SSA_OP* macro definitions. + 2013-12-18 Jakub Jelinek PR target/59539 diff --git a/gcc/doc/tree-ssa.texi b/gcc/doc/tree-ssa.texi index 93f596d..17c1b0c 100644 --- a/gcc/doc/tree-ssa.texi +++ b/gcc/doc/tree-ssa.texi @@ -265,15 +265,15 @@ those you are interested in. They are documented in #define SSA_OP_USE 0x01 /* @r{Real USE operands.} */ #define SSA_OP_DEF 0x02 /* @r{Real DEF operands.} */ #define SSA_OP_VUSE 0x04 /* @r{VUSE operands.} */ -#define SSA_OP_VMAYUSE 0x08 /* @r{USE portion of VDEFS.} */ -#define SSA_OP_VDEF 0x10 /* @r{DEF portion of VDEFS.} */ +#define SSA_OP_VDEF 0x08 /* @r{VDEF operands.} */ /* @r{These are commonly grouped operand flags.} */ -#define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE | SSA_OP_VMAYUSE) -#define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF) -#define SSA_OP_ALL_USES (SSA_OP_VIRTUAL_USES | SSA_OP_USE) -#define SSA_OP_ALL_DEFS (SSA_OP_VIRTUAL_DEFS | SSA_OP_DEF) -#define SSA_OP_ALL_OPERANDS (SSA_OP_ALL_USES | SSA_OP_ALL_DEFS) +#define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE) +#define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF) +#define SSA_OP_ALL_VIRTUALS (SSA_OP_VIRTUAL_USES | SSA_OP_VIRTUAL_DEFS) +#define SSA_OP_ALL_USES (SSA_OP_VIRTUAL_USES | SSA_OP_USE) +#define SSA_OP_ALL_DEFS (SSA_OP_VIRTUAL_DEFS | SSA_OP_DEF) +#define SSA_OP_ALL_OPERANDS (SSA_OP_ALL_USES | SSA_OP_ALL_DEFS) @end smallexample @end enumerate @@ -307,25 +307,10 @@ aren't using operand pointers, use and defs flags can be mixed. @code{VDEF}s are broken into two flags, one for the @code{DEF} portion (@code{SSA_OP_VDEF}) and one for the USE portion -(@code{SSA_OP_VMAYUSE}). If all you want to look at are the -@code{VDEF}s together, there is a fourth iterator macro for this, -which returns both a def_operand_p and a use_operand_p for each -@code{VDEF} in the statement. Note that you don't need any flags for -this one. +(@code{SSA_OP_VUSE}). -@smallexample - use_operand_p use_p; - def_operand_p def_p; - ssa_op_iter iter; - - FOR_EACH_SSA_MAYDEF_OPERAND (def_p, use_p, stmt, iter) - @{ - my_code; - @} -@end smallexample - -There are many examples in the code as well, as well as the -documentation in @file{tree-ssa-operands.h}. +There are many examples in the code, in addition to the documentation +in @file{tree-ssa-operands.h} and @file{ssa-iterators.h}. There are also a couple of variants on the stmt iterators regarding PHI nodes. diff --git a/gcc/ssa-iterators.h b/gcc/ssa-iterators.h index eceddbc..7b13928 100644 --- a/gcc/ssa-iterators.h +++ b/gcc/ssa-iterators.h @@ -98,7 +98,7 @@ struct imm_use_iterator get access to each occurrence of ssavar on the stmt returned by that iterator.. for instance: - FOR_EACH_IMM_USE_STMT (stmt, iter, var) + FOR_EACH_IMM_USE_STMT (stmt, iter, ssavar) { FOR_EACH_IMM_USE_ON_STMT (use_p, iter) { @@ -142,13 +142,13 @@ struct ssa_op_iter gimple stmt; }; +/* NOTE: Keep these in sync with doc/tree-ssa.texi. */ /* These flags are used to determine which operands are returned during execution of the loop. */ #define SSA_OP_USE 0x01 /* Real USE operands. */ #define SSA_OP_DEF 0x02 /* Real DEF operands. */ #define SSA_OP_VUSE 0x04 /* VUSE operands. */ #define SSA_OP_VDEF 0x08 /* VDEF operands. */ - /* These are commonly grouped operand flags. */ #define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE) #define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF) -- 2.7.4