Fwd: Macros taking a function as argument - and evaluating it at least twice
Steven Bosscher
stevenb.gcc@gmail.com
Tue Nov 12 23:32:00 GMT 2013
[Sorry for double post - gmail insists that "GCC" is gcc-patches@, not
gcc@ :-/ ]
Hello,
Here is a non-comprehensive list of macros that are used with a
function passed to the macro's argument, and the macro evaluates that
argument at least twice:
gimple.c: && (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (gs))
gimple-ssa-strength-reduction.c: || !CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (gs)))
ipa-prop.c: && CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def)))
tree-inline.c: || CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt)));
tree-ssa-dom.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (defstmt)))
tree-ssa-forwprop.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code
(def_stmt)))
tree-ssa-forwprop.c: || !CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt)))
tree-ssa-ifcombine.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt)))
tree-ssa-ifcombine.c: && ((CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt))
tree-ssa-loop-im.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt1)))
tree-stdarg.c: || CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt))
tree-vect-patterns.c: if (!CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (*def_stmt)))
tree-vect-patterns.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code
(use_stmt)))
tree-vect-patterns.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (use_stmt))
tree-vrp.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt))
tree-vrp.c: if (!CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt2))
tree-vrp.c: else if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (op_def)))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt2))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
tree-outof-ssa.c: && FLOAT_TYPE_P (gimple_expr_type (stmt)))
tree-ssa-ccp.c: && (INTEGRAL_TYPE_P (gimple_expr_type (stmt))
tree-chrec.c: if (POINTER_TYPE_P (chrec_type (poly0)))
tree-chrec.c: if (POINTER_TYPE_P (chrec_type (chrec)))
tree-ssa-ccp.c: || POINTER_TYPE_P (gimple_expr_type (stmt))))
tree-ssa-structalias.c: && !(POINTER_TYPE_P (gimple_expr_type (t))
Not sure what to do about them (if anything) but I don't think this is
intended...
Ciao!
Steven
More information about the Gcc
mailing list