Commit 50e6a148 by Aldy Hernandez Committed by Aldy Hernandez

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
parent 90be6e46
2013-12-18 Aldy Hernandez <aldyh@redhat.com>
* 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 <jakub@redhat.com> 2013-12-18 Jakub Jelinek <jakub@redhat.com>
PR target/59539 PR target/59539
...@@ -265,15 +265,15 @@ those you are interested in. They are documented in ...@@ -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_USE 0x01 /* @r{Real USE operands.} */
#define SSA_OP_DEF 0x02 /* @r{Real DEF operands.} */ #define SSA_OP_DEF 0x02 /* @r{Real DEF operands.} */
#define SSA_OP_VUSE 0x04 /* @r{VUSE operands.} */ #define SSA_OP_VUSE 0x04 /* @r{VUSE operands.} */
#define SSA_OP_VMAYUSE 0x08 /* @r{USE portion of VDEFS.} */ #define SSA_OP_VDEF 0x08 /* @r{VDEF operands.} */
#define SSA_OP_VDEF 0x10 /* @r{DEF portion of VDEFS.} */
/* @r{These are commonly grouped operand flags.} */ /* @r{These are commonly grouped operand flags.} */
#define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE | SSA_OP_VMAYUSE) #define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE)
#define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF) #define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF)
#define SSA_OP_ALL_USES (SSA_OP_VIRTUAL_USES | SSA_OP_USE) #define SSA_OP_ALL_VIRTUALS (SSA_OP_VIRTUAL_USES | SSA_OP_VIRTUAL_DEFS)
#define SSA_OP_ALL_DEFS (SSA_OP_VIRTUAL_DEFS | SSA_OP_DEF) #define SSA_OP_ALL_USES (SSA_OP_VIRTUAL_USES | SSA_OP_USE)
#define SSA_OP_ALL_OPERANDS (SSA_OP_ALL_USES | SSA_OP_ALL_DEFS) #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 smallexample
@end enumerate @end enumerate
...@@ -307,25 +307,10 @@ aren't using operand pointers, use and defs flags can be mixed. ...@@ -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{VDEF}s are broken into two flags, one for the
@code{DEF} portion (@code{SSA_OP_VDEF}) and one for the USE portion @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{SSA_OP_VUSE}).
@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.
@smallexample There are many examples in the code, in addition to the documentation
use_operand_p use_p; in @file{tree-ssa-operands.h} and @file{ssa-iterators.h}.
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 also a couple of variants on the stmt iterators regarding PHI There are also a couple of variants on the stmt iterators regarding PHI
nodes. nodes.
......
...@@ -98,7 +98,7 @@ struct imm_use_iterator ...@@ -98,7 +98,7 @@ struct imm_use_iterator
get access to each occurrence of ssavar on the stmt returned by get access to each occurrence of ssavar on the stmt returned by
that iterator.. for instance: 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) FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
{ {
...@@ -142,13 +142,13 @@ struct ssa_op_iter ...@@ -142,13 +142,13 @@ struct ssa_op_iter
gimple stmt; gimple stmt;
}; };
/* NOTE: Keep these in sync with doc/tree-ssa.texi. */
/* These flags are used to determine which operands are returned during /* These flags are used to determine which operands are returned during
execution of the loop. */ execution of the loop. */
#define SSA_OP_USE 0x01 /* Real USE operands. */ #define SSA_OP_USE 0x01 /* Real USE operands. */
#define SSA_OP_DEF 0x02 /* Real DEF operands. */ #define SSA_OP_DEF 0x02 /* Real DEF operands. */
#define SSA_OP_VUSE 0x04 /* VUSE operands. */ #define SSA_OP_VUSE 0x04 /* VUSE operands. */
#define SSA_OP_VDEF 0x08 /* VDEF operands. */ #define SSA_OP_VDEF 0x08 /* VDEF operands. */
/* These are commonly grouped operand flags. */ /* These are commonly grouped operand flags. */
#define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE) #define SSA_OP_VIRTUAL_USES (SSA_OP_VUSE)
#define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF) #define SSA_OP_VIRTUAL_DEFS (SSA_OP_VDEF)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment