This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/68500] New: Remove in_loop_pipeline usage
- From: "vries at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 23 Nov 2015 12:36:15 +0000
- Subject: [Bug other/68500] New: Remove in_loop_pipeline usage
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68500
Bug ID: 68500
Summary: Remove in_loop_pipeline usage
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: vries at gcc dot gnu.org
Target Milestone: ---
Consider pass_slp_vectorize::execute
...
pass_slp_vectorize::execute (function *fun)
{
basic_block bb;
bool in_loop_pipeline = scev_initialized_p ();
if (!in_loop_pipeline)
{
loop_optimizer_init (LOOPS_NORMAL);
scev_initialize ();
}
...
if (!in_loop_pipeline)
{
scev_finalize ();
loop_optimizer_finalize ();
}
...
It uses an in_loop_pipeline variable, initialized using scev_initialized_p to
detect whether the pass is run in the loop pipeline, to allow different
behaviour inside and outside the loop pipeline.
We want a cleaner way to allow passes to run correctly inside and outside the
loop pipeline.