FW: [Open64-devel] dependence graphs for instruction scheduling
Brought to you by:
ributzka,
suneeljain
From: Barak Z. <Barak.Zalstein@ParthusCeva.com> - 2003-06-23 08:08:32
|
(repost because of spam filtering bounce) -----Original Message----- From: Barak Zalstein=20 Sent: Thursday, June 19, 2003 7:03 PM To: 'Hongbo Yang'; Eduard Santamaria Cc: ope...@li...; = ipf...@li... Subject: RE: [Open64-devel] dependence graphs for instruction scheduling In addition: The compiler utilizes daVinci in order to display control flow graphs = (see doc/howto-debug-compiler for installation instructions) so reading/modifying the invloved routines = (opt/opt_Davinci.cxx ?) should be an=20 interesting direction (be careful not to violate daVinci license, = though). At least in ORC 1.1 which I'm using, Local_Insn_Sched and = Global_Insn_Sched are called instead of the hyperblock scheduler IGLS_Schedule_Region. Predication can be disabled by adding -IPFEC:if_conv=3Doff as a compiler = switch=20 (I don't think there are other places that generate predicated code = beside=20 of IF_CONVERTOR::IF_CONVERTOR in cg/orc_intel/if_conv.cxx). Barak > -----Original Message----- > From: Hongbo Yang [mailto:hy...@ca...] > Sent: Thursday, June 19, 2003 6:42 PM > To: Eduard Santamaria > Cc: ope...@li...;=20 > ipf...@li... > Subject: Re: [Open64-devel] dependence graphs for instruction=20 > scheduling >=20 >=20 > You can find dependence graph in hb_sched.cxx. To get=20 > dependence graph is > trivial, reading through function "schedule_blocks" helps you to > understand how dependence graph is organized. >=20 > There is a switch -CG:hb_formation to turn off hyper block formation. >=20 > -------------------------------- > Hongbo Yang >=20 > Grad student at > Dept of Electrical and Computer Engineering > Univ of Delaware >=20 > On Thu, 19 Jun 2003, Eduard Santamaria wrote: >=20 > > Hi, > > > > a colleague of mine who's not in the list is interested in > > using ORC to generate some dependence graphs for instruction > > scheduling: > > > > I'm working in instruction scheduling and I'm interested in=20 > using the > > ORC to generate data dependence graphs (each instruction is=20 > represented > > as a node of the graph and dependencies between instructions are > > represented as directed edges between pairs of nodes). I'm=20 > especially > > interested in loops. The only information that I need are the > > instructions performed, the kind of dependencies between pairs of > > instructions (register, memory, control...) and the distance of the > > loop carried dependencies. I also need to take into account loop > > invariants. > > > > Is it an easy task or may it take a lot of time? > > At which step of the compilation process is this=20 > information available? > > Which functions should I change to obtain these graphs? > > What are the data structures involved? > > > > I think that by default ORC generates code for hyperblocks. > > Instead, I would like to generate code for superblocks. That is, > > I don't want predicated code. Do you know if this can be done? > > Do you know what functions are involved in predication? > > > > Thank you > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by: INetU > > Attention Web Developers & Consultants: Become An INetU=20 > Hosting Partner. > > Refer Dedicated Servers. We Manage Them. You Get 10%=20 > Monthly Commission! > > INetU Dedicated Managed Hosting=20 http://www.inetu.net/partner/index.php > _______________________________________________ > Open64-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/open64-devel > ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Open64-devel mailing list Ope...@li... https://lists.sourceforge.net/lists/listinfo/open64-devel |