NEXT_PASS (pass_ccp, true /* nonzero_p */);
/* After CCP we rewrite no longer addressed locals into SSA
form if possible. */
- NEXT_PASS (pass_expand_powcabs);
+ NEXT_PASS (pass_expand_pow);
NEXT_PASS (pass_optimize_bswap);
NEXT_PASS (pass_laddress);
NEXT_PASS (pass_lim);
/* { dg-do compile { target sqrt_insn } } */
-/* { dg-options "-fdump-tree-powcabs -Ofast --param max-pow-sqrt-depth=8" } */
+/* { dg-options "-fdump-tree-pow -Ofast --param max-pow-sqrt-depth=8" } */
/* { dg-additional-options "-mfloat-abi=softfp -mfpu=neon-vfpv4" { target arm*-*-* } } */
double
a[i] = __builtin_pow (a[i], 1.25);
}
-/* { dg-final { scan-tree-dump-times "synthesizing" 7 "powcabs" } } */
+/* { dg-final { scan-tree-dump-times "synthesizing" 7 "pow" } } */
DEFTIMEVAR (TV_TREE_SWITCH_LOWERING, "tree switch lowering")
DEFTIMEVAR (TV_TREE_RECIP , "gimple CSE reciprocals")
DEFTIMEVAR (TV_TREE_SINCOS , "gimple CSE sin/cos")
-DEFTIMEVAR (TV_TREE_POWCABS , "gimple expand pow/cabs")
+DEFTIMEVAR (TV_TREE_POW , "gimple expand pow")
DEFTIMEVAR (TV_TREE_WIDEN_MUL , "gimple widening/fma detection")
DEFTIMEVAR (TV_TRANS_MEM , "transactional memory")
DEFTIMEVAR (TV_TREE_STRLEN , "tree strlen optimization")
extern gimple_opt_pass *make_pass_late_warn_uninitialized (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_cse_reciprocals (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_cse_sincos (gcc::context *ctxt);
-extern gimple_opt_pass *make_pass_expand_powcabs (gcc::context *ctxt);
+extern gimple_opt_pass *make_pass_expand_pow (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_optimize_bswap (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_store_merging (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_optimize_widening_mul (gcc::context *ctxt);
return new pass_cse_sincos (ctxt);
}
-/* Expand powi(x,n) into an optimal number of multiplies, when n is a constant.
- Note the name is powcabs but cabs expansion was moved to the lower complex
- pass. */
+/* Expand powi(x,n) into an optimal number of multiplies, when n is a
+ constant. */
namespace {
-const pass_data pass_data_expand_powcabs =
+const pass_data pass_data_expand_pow =
{
GIMPLE_PASS, /* type */
- "powcabs", /* name */
+ "pow", /* name */
OPTGROUP_NONE, /* optinfo_flags */
- TV_TREE_POWCABS, /* tv_id */
+ TV_TREE_POW, /* tv_id */
PROP_ssa, /* properties_required */
PROP_gimple_opt_math, /* properties_provided */
0, /* properties_destroyed */
TODO_update_ssa, /* todo_flags_finish */
};
-class pass_expand_powcabs : public gimple_opt_pass
+class pass_expand_pow : public gimple_opt_pass
{
public:
- pass_expand_powcabs (gcc::context *ctxt)
- : gimple_opt_pass (pass_data_expand_powcabs, ctxt)
+ pass_expand_pow (gcc::context *ctxt)
+ : gimple_opt_pass (pass_data_expand_pow, ctxt)
{}
/* opt_pass methods: */
unsigned int execute (function *) final override;
-}; // class pass_expand_powcabs
+}; // class pass_expand_pow
unsigned int
-pass_expand_powcabs::execute (function *fun)
+pass_expand_pow::execute (function *fun)
{
basic_block bb;
bool cfg_changed = false;
} // anon namespace
gimple_opt_pass *
-make_pass_expand_powcabs (gcc::context *ctxt)
+make_pass_expand_pow (gcc::context *ctxt)
{
- return new pass_expand_powcabs (ctxt);
+ return new pass_expand_pow (ctxt);
}
/* Return true if stmt is a type conversion operation that can be stripped