GCC community, As some of you may know, a group met this past January in Geneva <www.gelato.org/pdf/Workshops/geneva05/discussion_notes.pdf> to discuss ways of improving GCC performance for Itanium. The group identified three optimizations that should help significantly: - Rotating Registers (including Swing Modulo Scheduling) - Superblock Scheduling - Memory Disambiguation
Since then we have been holding conference calls <gcc.gelato.org/MeetingMinutes> and held an update session at the San Jose Gelato meeting in May. - Bob Kidd: Superblock Optimization <www.gelato.org/pdf/may2005/gelato_may2005_gcc_kidd_uiuc.pdf> - Mark Davis: Modulo Scheduling for GCC <www.gelato.org/pdf/may2005/gelato_may2005_gcc_davis_intel.pdf> - Arutyun Avetisyan: Update, Improving GCC Instruction Scheduling: * <www.gelato.org/pdf/may2005/gelato_may2005_gcc_avetisyan_ras.pdf> * <www.gelato.org/pdf/may2005/gelato_may2005_gccscheduling_ avetisyan_ras.pdf> Bob Kidd is in the process of testing a patch that moves the superblock formation pass to the Tree-SSA level. The memory disambiguation and rotating register/SMS support is stalled pending alias analysis improvements. Additional information about the work can be found at the Gelato GCC on Itanium Workgroup Wiki: gcc.gelato.org In addition, some of us are working to update the list of GCC projects <gcc.gnu.org/projects/ia64.html>. See notes from August 25 call <gcc.gelato.org/MeetingMinutes>. To raise awareness of this work, we will begin cross posting notes from our periodic calls to the gcc list. We would like everyone to be fully aware of what we are trying to accomplish. We ask for your patience and understanding as we join your community. Please note that several of us are from a university environment. Although many of us are involved, or have been involved, with other compiler projects, the focus of the Gelato GCC Improvement Group is to work *with* the GCC community *and* the GCC community *process* to improve GCC for Itanium. Some of the other projects which individuals are currently, or have been, involved with include OpenIMPACT <www.gelato.uiuc.edu>, ORC <ipf-orc.sourceforge.net>, icc <www.intel.com/cd/software/products/asmo-na/eng/compilers/219760.htm>, LLVM <llvm.cs.uiuc.edu>, and a new initiative to produce a hybrid compiler based on the GCC front-end and the ORC back-end. (HP will present on this HP-led project in the general session at the next Gelato meeting.) Lastly I would like to invite anyone who is interested to attend our next Gelato meeting in Brazil which will have several sessions set aside to discuss the GCC on Itanium improvement work. www.gelato.org/community/events/oct2005/index.php www.gelato.org/community/events/oct2005/agenda.php After an update on each area, we will discuss how we can contribute to the aliasing work. Dan Berlin recently posted the improved-aliasing branch TODO list which will help focus the discussion. Mark