who reviewed? Sun On Tue, Aug 3, 2010 at 8:11 PM, <s...@open64.net> wrote: > Author: shenruifen > Date: 2010-08-03 23:11:36 -0400 (Tue, 03 Aug 2010) > New Revision: 3301 > > Modified: > trunk/osprey/be/cg/gra_mon/gra_color.cxx > trunk/osprey/be/cg/gra_mon/gra_create.cxx > trunk/osprey/be/cg/gra_mon/gra_grant.cxx > trunk/osprey/be/cg/gra_mon/gra_split.cxx > Log: > Format GRA code enclosed by TARG_SL > > Modified: trunk/osprey/be/cg/gra_mon/gra_color.cxx > =================================================================== > --- trunk/osprey/be/cg/gra_mon/gra_color.cxx 2010-08-03 05:03:53 UTC (rev > 3300) > +++ trunk/osprey/be/cg/gra_mon/gra_color.cxx 2010-08-04 03:11:36 UTC (rev > 3301) > @@ -248,38 +248,37 @@ > void > Get_Rid_For_Lrange(LRANGE* lrange, vector <RID*> * rid_vec ) > { > - > - LRANGE_LIVE_GBB_ITER live_gbb_iter; > - BB* bb; > - if(lrange->Type()== LRANGE_TYPE_REGION) { //region for major thread; > - return; > - } > - if(lrange->Type() ==LRANGE_TYPE_LOCAL) { > - bb = lrange->Gbb()->Bb(); > - RID* rid = BB_rid(bb); > - if(rid ) { // don't split register for major fork > - if(RID_TYPE_major(rid)) > - return; > - else { // for minor fork > - rid_vec->push_back(rid); > - return; > - } > - } > - } > - else { //complement region > - Is_True((lrange->Type()==LRANGE_TYPE_COMPLEMENT), ("unknown region > type")); > - LRANGE_LUNIT_ITER lunit_iter; > - for (lunit_iter.Init(lrange); ! lunit_iter.Done(); lunit_iter.Step()) > - { > - LUNIT* lunit = lunit_iter.Current(); > - GRA_BB* gbb = lunit->Gbb(); > - bb = gbb->Bb(); > - if(BB_rid(bb) && (find(rid_vec->begin(), rid_vec->end(), > BB_rid(bb)) == rid_vec->end())) { > - rid_vec->push_back(BB_rid(bb)); > - } > - } > - } > - return; > + LRANGE_LIVE_GBB_ITER live_gbb_iter; > + BB* bb; > + if(lrange->Type()== LRANGE_TYPE_REGION) { //region for major thread; > + return; > + } > + if(lrange->Type() ==LRANGE_TYPE_LOCAL) { > + bb = lrange->Gbb()->Bb(); > + RID* rid = BB_rid(bb); > + if(rid ) { // don't split register for major fork > + if(RID_TYPE_major(rid)) > + return; > + else { // for minor fork > + rid_vec->push_back(rid); > + return; > + } > + } > + } > + else { //complement region > + Is_True((lrange->Type()==LRANGE_TYPE_COMPLEMENT), ("unknown region > type")); > + LRANGE_LUNIT_ITER lunit_iter; > + for (lunit_iter.Init(lrange); ! lunit_iter.Done(); lunit_iter.Step()) > + { > + LUNIT* lunit = lunit_iter.Current(); > + GRA_BB* gbb = lunit->Gbb(); > + bb = gbb->Bb(); > + if(BB_rid(bb) && (find(rid_vec->begin(), rid_vec->end(), BB_rid(bb)) > == rid_vec->end())) { > + rid_vec->push_back(BB_rid(bb)); > + } > + } > + } > + return; > } > #endif > > @@ -335,20 +334,20 @@ > } > > #ifdef TARG_SL //minor_reg_alloc > -// if( !lrange->Spans_Multiregions()) { > - vector< RID* > rid_vec; > - vector<RID* >::iterator iter; > - Get_Rid_For_Lrange(lrange, &rid_vec); > - for(iter = rid_vec.begin(); iter != rid_vec.end(); iter++) { > - RID* rid = *iter; > - if(rid && RID_TYPE_minor(rid)) { > - RID * pair_rid = gra_para_region_mgr.Get_Pair_Rid(rid); > - Is_True((pair_rid), ("pair_rid is NULL")); > - GRA_PARA_REGION* pair_region = gra_para_region_mgr.Get(pair_rid); > - pair_region->Add_One_Exclude_Register(rc, reg); > - } > - } > -// } > +//if( !lrange->Spans_Multiregions()) { > + vector< RID* > rid_vec; > + vector<RID* >::iterator iter; > + Get_Rid_For_Lrange(lrange, &rid_vec); > + for(iter = rid_vec.begin(); iter != rid_vec.end(); iter++) { > + RID* rid = *iter; > + if(rid && RID_TYPE_minor(rid)) { > + RID * pair_rid = gra_para_region_mgr.Get_Pair_Rid(rid); > + Is_True((pair_rid), ("pair_rid is NULL")); > + GRA_PARA_REGION* pair_region = gra_para_region_mgr.Get(pair_rid); > + pair_region->Add_One_Exclude_Register(rc, reg); > + } > + } > +//} > #endif > > } > @@ -689,20 +688,19 @@ > current_lrange = 0; > #endif // TARG_IA64 > #ifdef TARG_SL //minor_reg_alloc > -// if(!lrange->Spans_Multiregions()) > -// { > - vector< RID*> rid_vec; > - vector< RID* >::iterator iter; > - Get_Rid_For_Lrange(lrange, &rid_vec); > +//if(!lrange->Spans_Multiregions()) { > + vector< RID*> rid_vec; > + vector< RID* >::iterator iter; > + Get_Rid_For_Lrange(lrange, &rid_vec); > for(iter=rid_vec.begin(); iter !=rid_vec.end(); iter++ ) { > - RID* rid = *iter; > - if(rid && RID_TYPE_minor(rid)) { > - GRA_PARA_REGION* region = gra_para_region_mgr.Get(rid); > - REGISTER_SET exclude_set = region->Registers_Exclude(lrange->Rc()); > - allowed = REGISTER_SET_Difference(allowed, exclude_set); > - } > + RID* rid = *iter; > + if(rid && RID_TYPE_minor(rid)) { > + GRA_PARA_REGION* region = gra_para_region_mgr.Get(rid); > + REGISTER_SET exclude_set = region->Registers_Exclude(lrange->Rc()); > + allowed = REGISTER_SET_Difference(allowed, exclude_set); > + } > } > -// } > +//} > #endif > > if ( lrange->Has_Wired_Register() ) { > @@ -918,11 +916,11 @@ > > #ifdef TARG_SL2 //minor_reg_alloc > BB* bb = gbb->Bb(); > - if(BB_rid(bb) && RID_TYPE_minor(BB_rid(bb))) { > - GRA_PARA_REGION* region = gra_para_region_mgr.Get(BB_rid(bb)); > - REGISTER_SET exclude_set = region->Registers_Exclude(rc); > + if(BB_rid(bb) && RID_TYPE_minor(BB_rid(bb))) { > + GRA_PARA_REGION* region = gra_para_region_mgr.Get(BB_rid(bb)); > + REGISTER_SET exclude_set = region->Registers_Exclude(rc); > allowed = REGISTER_SET_Difference(allowed, exclude_set); > - } > + } > #endif > > #ifdef HAS_STACKED_REGISTERS > @@ -967,12 +965,12 @@ > GRA_GRANT_Local_Register(gbb,rc,reg); > #ifdef TARG_SL //minor_reg_alloc > if(BB_rid(gbb->Bb()) && RID_TYPE_minor(BB_rid(gbb->Bb()))) { > - RID* rid = BB_rid(gbb->Bb()); > - RID* pair_rid = gra_para_region_mgr.Get_Pair_Rid(rid); > - GRA_PARA_REGION * pair_region = > - gra_para_region_mgr.Get(pair_rid); > - pair_region->Add_One_Exclude_Register(rc, reg); > - } > + RID* rid = BB_rid(gbb->Bb()); > + RID* pair_rid = gra_para_region_mgr.Get_Pair_Rid(rid); > + GRA_PARA_REGION * pair_region = > + gra_para_region_mgr.Get(pair_rid); > + pair_region->Add_One_Exclude_Register(rc, reg); > + } > #endif > } > else { > @@ -1454,18 +1452,18 @@ > void > Set_Children_GRA_Colored (RID * rid) > { > - RID* kid; > + RID* kid; > > - if(rid == NULL) return; //func_entry rid > - > - RID_was_gra_Set(rid); > - RID_has_reg_alloc_Set(rid); > + if(rid == NULL) return; //func_entry rid > > - for(kid = RID_first_kid(rid); kid != NULL; kid = RID_next(kid)) > - { > - Set_Children_GRA_Colored(kid); > - } > - return; > + RID_was_gra_Set(rid); > + RID_has_reg_alloc_Set(rid); > + > + for(kid = RID_first_kid(rid); kid != NULL; kid = RID_next(kid)) > + { > + Set_Children_GRA_Colored(kid); > + } > + return; > } > #endif // TARG_SL > > > Modified: trunk/osprey/be/cg/gra_mon/gra_create.cxx > =================================================================== > --- trunk/osprey/be/cg/gra_mon/gra_create.cxx 2010-08-03 05:03:53 UTC (rev > 3300) > +++ trunk/osprey/be/cg/gra_mon/gra_create.cxx 2010-08-04 03:11:36 UTC (rev > 3301) > @@ -481,10 +481,10 @@ > RID * rid = BB_rid(bb); > GRA_PARA_REGION* para_region = gra_para_region_mgr.Get(rid); > if(rid && RID_TYPE_minor(rid)) { > - gra_para_region_mgr.Add_Rid_Into_Minor_Vector(rid); > + gra_para_region_mgr.Add_Rid_Into_Minor_Vector(rid); > } > if(para_region) > - para_region->Add_BB(bb); > + para_region->Add_BB(bb); > #endif > > > @@ -2245,40 +2245,39 @@ > void > Mark_Lrange_For_Minor_Thread() > { > - ISA_REGISTER_CLASS rc; > - GRA_REGION_RC_NL_LRANGE_ITER iter0; > - GRA_REGION_GBB_ITER gbb_iter; > - GRA_REGION *region = gra_region_mgr.Complement_Region(); > + ISA_REGISTER_CLASS rc; > + GRA_REGION_RC_NL_LRANGE_ITER iter0; > + GRA_REGION_GBB_ITER gbb_iter; > + GRA_REGION *region = gra_region_mgr.Complement_Region(); > > -// FOR_ALL_ISA_REGISTER_CLASS( rc ) { > - rc = ISA_REGISTER_CLASS_integer; > - for (iter0.Init(region,rc); ! iter0.Done(); iter0.Step()) { > - LRANGE* lrange0 = iter0.Current(); > - LRANGE_LIVE_GBB_ITER live_gbb_iter; > - LRANGE_LUNIT_ITER lunit_iter; > -/* for now we think the rid_count greater than 2 means the lrange spans > multi-region, > - * there only two parallel regions active at same time in minor mode > - */ > - vector<INT> met_rid; > - for (lunit_iter.Init(lrange0); !lunit_iter.Done(); lunit_iter.Step()) > - { > - LUNIT* lunit = lunit_iter.Current(); > - GRA_BB *live_gbb = lunit->Gbb(); > - BB* bb = live_gbb->Bb(); > - if(BB_rid(bb) && RID_TYPE_minor(BB_rid(bb))) { // NULL for > func_entry region > - if(find(met_rid.begin(), met_rid.end(), RID_id(BB_rid(bb))) == > met_rid.end()) { > - met_rid.push_back(RID_id(BB_rid(bb))); > - } > - } > - } > - if(met_rid.size() > 1 && met_rid.size() < 3) > - { > - lrange0->Spans_Multiregions_Set(); > - } > - met_rid.clear(); > + // FOR_ALL_ISA_REGISTER_CLASS( rc ) { > + rc = ISA_REGISTER_CLASS_integer; > + for (iter0.Init(region,rc); ! iter0.Done(); iter0.Step()) { > + LRANGE* lrange0 = iter0.Current(); > + LRANGE_LIVE_GBB_ITER live_gbb_iter; > + LRANGE_LUNIT_ITER lunit_iter; > + /* for now we think the rid_count greater than 2 means the lrange spans > multi-region, > + * there only two parallel regions active at same time in minor mode > + */ > + vector<INT> met_rid; > + for (lunit_iter.Init(lrange0); !lunit_iter.Done(); lunit_iter.Step()) > + { > + LUNIT* lunit = lunit_iter.Current(); > + GRA_BB *live_gbb = lunit->Gbb(); > + BB* bb = live_gbb->Bb(); > + if(BB_rid(bb) && RID_TYPE_minor(BB_rid(bb))) { // NULL for func_entry > region > + if(find(met_rid.begin(), met_rid.end(), RID_id(BB_rid(bb))) == > met_rid.end()) { > + met_rid.push_back(RID_id(BB_rid(bb))); > + } > } > -//} > - > + } > + if(met_rid.size() > 1 && met_rid.size() < 3) > + { > + lrange0->Spans_Multiregions_Set(); > + } > + met_rid.clear(); > + } > + //} > } > #endif > > > Modified: trunk/osprey/be/cg/gra_mon/gra_grant.cxx > =================================================================== > --- trunk/osprey/be/cg/gra_mon/gra_grant.cxx 2010-08-03 05:03:53 UTC (rev > 3300) > +++ trunk/osprey/be/cg/gra_mon/gra_grant.cxx 2010-08-04 03:11:36 UTC (rev > 3301) > @@ -226,10 +226,10 @@ > #if defined (TARG_SL) > if ((REGISTER_SET_MemberP(REGISTER_CLASS_function_value(rc), reg))) { > if (BB_call(gbb->Bb())) > - if (GTN_SET_MemberP(BB_live_out(gbb->Bb()),Build_Dedicated_TN(rc, > reg, 8))) > - return; > - else if (GTN_SET_MemberP(BB_live_in > (gbb->Bb()),Build_Dedicated_TN(rc, reg, 8))) > - return; > + if (GTN_SET_MemberP(BB_live_out(gbb->Bb()),Build_Dedicated_TN(rc, > reg, 8))) > + return; > + else if (GTN_SET_MemberP(BB_live_in > (gbb->Bb()),Build_Dedicated_TN(rc, reg, 8))) > + return; > } > else > #endif > @@ -293,15 +293,15 @@ > gbb->Registers_Used(rc)); > FOR_ALL_REGISTER_SET_members(free_regs, reg) { > #ifdef TARG_SL2 //minor_reg_alloc > - if(BB_rid(gbb->Bb()) && RID_TYPE_minor(BB_rid(gbb->Bb()))) > - { > - GRA_PARA_REGION* region = > gra_para_region_mgr.Get(BB_rid(gbb->Bb())); > - if( !REGISTER_SET_Intersection1(region->Registers_Exclude(rc), > reg)) > - GRA_GRANT_Local_Register(gbb, rc, reg); > - } > - else > + if(BB_rid(gbb->Bb()) && RID_TYPE_minor(BB_rid(gbb->Bb()))) > + { > + GRA_PARA_REGION* region = > gra_para_region_mgr.Get(BB_rid(gbb->Bb())); > + if( !REGISTER_SET_Intersection1(region->Registers_Exclude(rc), > reg)) > + GRA_GRANT_Local_Register(gbb, rc, reg); > + } > + else > #endif > - GRA_GRANT_Local_Register(gbb, rc, reg); > + GRA_GRANT_Local_Register(gbb, rc, reg); > } > } > } > > Modified: trunk/osprey/be/cg/gra_mon/gra_split.cxx > =================================================================== > --- trunk/osprey/be/cg/gra_mon/gra_split.cxx 2010-08-03 05:03:53 UTC (rev > 3300) > +++ trunk/osprey/be/cg/gra_mon/gra_split.cxx 2010-08-04 03:11:36 UTC (rev > 3301) > @@ -339,13 +339,13 @@ > > #ifdef TARG_SL //minor_reg_alloc > /* exclude registers used in parallel region */ > - if(BB_rid(gbb->Bb()) && RID_TYPE_minor(BB_rid(gbb->Bb()))) { > - RID* rid = BB_rid(gbb->Bb()); > - GRA_PARA_REGION* region = gra_para_region_mgr.Get(rid); > - Is_True((region), ("para region is NULL")); > - REGISTER_SET exclude_set = region->Registers_Exclude(rc); > - used = REGISTER_SET_Union(used, exclude_set); > - } > + if(BB_rid(gbb->Bb()) && RID_TYPE_minor(BB_rid(gbb->Bb()))) { > + RID* rid = BB_rid(gbb->Bb()); > + GRA_PARA_REGION* region = gra_para_region_mgr.Get(rid); > + Is_True((region), ("para region is NULL")); > + REGISTER_SET exclude_set = region->Registers_Exclude(rc); > + used = REGISTER_SET_Union(used, exclude_set); > + } > #endif > > return used; > > > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm > _______________________________________________ > Open64-devel mailing list > Open64-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/open64-devel >
------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel