Do not assume loop header threading in backward threader.
The registry's thread_through_all_blocks() has a may_peel_loop_headers
argument. When refactoring the backward threader code, I removed this
argument for the local passthru method because it was always TRUE. This
may not necessarily be true in the future, if the backward threader is
called from another context. This patch removes the default definition,
in favor of an argument that is exactly the same as the identically
named function in tree-ssa-threadupdate.c. I think this also makes it
less confusing when looking at both methods across the source base.
Tested on x86-64 Linux.
gcc/ChangeLog:
* tree-ssa-threadbackward.c (back_threader::thread_through_all_blocks):
Add may_peel_loop_headers.
(back_threader_registry::thread_through_all_blocks): Same.
(try_thread_blocks): Pass may_peel_loop_headers argument.
(pass_early_thread_jumps::execute): Same.