This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Update loops in cfg manipulation functions


Zdenek Dvorak wrote on 10/23/06 04:53:

*************** execute_vrp (void)
*** 4781,4787 ****
{
insert_range_assertions ();
! current_loops = loop_optimizer_init (LOOPS_NORMAL);
if (current_loops)
scev_initialize (current_loops);
--- 4781,4787 ----
{
insert_range_assertions ();
! loop_optimizer_init (LOOPS_NORMAL);
if (current_loops)
scev_initialize (current_loops);
If we are going to be keeping loops up-to-date, wouldn't this
initialization be unnecessary?  Couldn't we just initialize loops
after the CFG is built?  If not, would it make sense to have that as a
long-term goal?

#define avail_temp_slots (cfun->x_avail_temp_slots)
#define temp_slot_level (cfun->x_temp_slot_level)
#define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels)
+ #define current_loops (cfun->x_current_loops)
For now I guess this is OK, but I would really prefer that we had CFUN
a parameter to this accessor.  Since Jan is working in this area, we
can do this afterwards.


Nice cleanup. Thanks. Any idea on compile-time impact? We seem to be doing more in the CFG low-level manipulators.

The patch crosses into the middle-end quite a bit, I'd like a
middle-end maintainer to look at it as well.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]