This was meant to be an internal construct, but I see folks are using
it and submitting PRs against it. Let's just remove this to avoid
further confusion.
Tested on x86-64 Linux.
gcc/ChangeLog:
PR tree-optimization/101724
* params.opt: Remove --param=threader-iterative.
* tree-ssa-threadbackward.c (pass_thread_jumps::execute): Remove
iterative mode.
Common Joined UInteger Var(param_modref_max_escape_points) Init(256) Param Optimization
Maximum number of escape points tracked by modref per SSA-name.
--param=threader-iterative=
-Common Joined UInteger Var(param_threader_iterative) Init(0) Param Optimization
-Run backwards threader in iterative mode.
-
-param=threader-mode=
Common Joined Var(param_threader_mode) Enum(threader_mode) Init(THREADER_MODE_RANGER) Param Optimization
--param=threader-mode=[legacy|ranger] Specifies the mode the backwards threader should run in.
{
loop_optimizer_init (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES);
- // Iterative mode is a testing construct and is not meant for public
- // consumption. It is OFF by default.
- bool iterative = param_threader_iterative;
-
- bool changed = false;
- while (try_thread_blocks (fun))
- {
- changed = true;
-
- if (!iterative)
- break;
-
- if ((param_threader_mode & THREADER_MODE_RANGER) == 0)
- break;
- cleanup_tree_cfg (TODO_update_ssa);
- }
+ bool changed = try_thread_blocks (fun);
loop_optimizer_finalize ();
+
return changed ? TODO_cleanup_cfg : 0;
}