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>
PR target/59539
......@@ -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.
......
......@@ -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)
......
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