> -----Original Message----- > From: Jeff Law [mailto:[email protected]] > Sent: Wednesday, October 17, 2012 1:02 AM > To: Bin Cheng > Cc: 'Steven Bosscher'; [email protected] > Subject: Re: [PATCH RFA] Implement register pressure directed hoist pass > > On 10/16/2012 01:44 AM, Bin Cheng wrote: > > Hi Steven, Jeff, > > I found a flaw in original patch, which results in inaccurate register > > pressure. > > Here comes the updated patches, improving code size a little bit on > > Thumb2/powerpc comparing to original patches. > > Please review. > > > > Thanks > > > > 2012-10-16 Bin Cheng<[email protected]> > > > > * gcse.c: Update copyright dates. > > (hoist_expr_reaches_here_p): Change parameter type from char * > > to sbitmap. > > > > 2012-10-16 Bin Cheng<[email protected]> > > > > * common.opt (flag_ira_hoist_pressure): New. > > * doc/invoke.texi (-fira-hoist-pressure): Describe. > > * ira-costs.c (ira_set_pseudo_classes): New parameter. > > * ira.h: Update copyright dates. > > (ira_set_pseudo_classes): Update prototype. > > * haifa-sched.c (sched_init): Update call. > > * ira.c (ira): Update call. > > * regmove.c: Update copyright dates. > > (regmove_optimize): Update call. > > * loop-invariant.c: Update copyright dates. > > (move_loop_invariants): Update call. > > * gcse.c: (struct bb_data): New structure. > > (BB_DATA): New macro. > > (curr_bb, curr_reg_pressure): New static variables. > > (should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p. > > Change parameter expr_index to expr. > > New parameters pressure_class, nregs and hoisted_bbs. > > Use reg pressure to determine the distance expr can be hoisted. > > (hoist_code): Use reg pressure to direct the hoist process. > > (get_regno_pressure_class, get_pressure_class_and_nregs) > > (change_pressure, calculate_bb_reg_pressure): New. > > (one_code_hoisting_pass): Calculate register pressure. Allocate > > and free data. > > > > > + > > + /* Currently register pressure for each pressure class. */ static > > + int curr_reg_pressure[N_REG_CLASSES]; > "Currently" -> "Current" > > OK for the mainline sources. >
Committed to trunk as r192603/r192604, after re-testing against recent trunk codes. Thanks.
