mccalpin@MASIG1.OCEAN.FSU.EDU ("John D. McCalpin") (03/16/89)
I have been experimenting with the various optimization parameters of the MIPS f77 compiler on a Personal IRIS. In several places, the documentation refers to the ability of the system to create and use a feedback file, which allows the optimizer to make use of profiling information in a previous run in a new compilation. The prof(1) manual entry explains how to create the feedback file, but does not tell how to use it. Neither do the man pages for f77(1) or pixie(1). The compiler optimization guide in the C manual does not refer to this feature either, except that such a feedback file appears in two figures. The prof(1) entry tells me to read the entries for umerge(1) and uopt(1) for further information. These man pages are not distributed with the system, either on-line or hard-copy. I called the hotline and spent some time explaining to the compiler person there how the system was supposed to work. Now I remember why I quit using the hotline! I shouldn't pick on SGI, though, since I got about the same result by calling MIPS.... So, does anyone know what to do with the feedback file created by 'prof -pixie -feedback feedback_file' to make the compiler/optimizer use it? -- ---------------------- John D. McCalpin ------------------------- Mesoscale Air-Sea Interaction Group & Department of Oceanography & Supercomputer Computations Research Institute - Fl State Univ. mccalpin@masig1.ocean.fsu.edu mccalpin@nu.cs.fsu.edu mccalpin@fsu (BITNET or MFENET) SCRI::MCCALPIN (SPAN) ------------------------------------------------------------------
archer@elysium.SGI.COM (Archer Sully) (03/16/89)
In article <8903151749.AA06746@masig1.ocean.fsu.edu>, mccalpin@MASIG1.OCEAN.FSU.EDU ("John D. McCalpin") writes: > > So, does anyone know what to do with the feedback file created by > 'prof -pixie -feedback feedback_file' to make the compiler/optimizer > use it? The usage message from umerge looks like this: Usage is: umerge infile [-f feedbackfile -t symfile] -o outfile [options...] options are: -g<0-3> -O<0-4> -debug -bbmax n -i file -inline_all -noinline -growth_limit x You can get umerge to use the feedback file by using the followin incantation: cc -O3 -Wm,-f,feedback <other options> <.u files> <libs> the -Wm passes the list of arguments to umerge. This documented near the end of the cc man page. I'm not sure if it actually works, as I just tried something that uses a completely bogus feedback file, and umerge didn't complain at all. But you never know. Good luck, Archer Sully archer@sgi.com "life is short, and full of stuff" -- Lux Interior --
len@synthesis.Synthesis.COM (Len Lattanzi) (03/16/89)
In article <8903151749.AA06746@masig1.ocean.fsu.edu> mccalpin@MASIG1.OCEAN.FSU.EDU ("John D. McCalpin") writes:
:So, does anyone know what to do with the feedback file created by
:'prof -pixie -feedback feedback_file' to make the compiler/optimizer
:use it?
:--
My data is based on Mips Compilers version 1.31 (use f77 -V to verify your
version)
There are two supported uses for feedback files.
1) Cache reorganizer
prof -pixie -feedback fb
f77 -cord -feedback fb -o xxx ....
You should have a new binary whose procedures are organized to cause
minimal cache conflicts when run in the same configuration as the feedback
run
2) Inliner
f77 -O3 -feedback -o xxx ....
This option gives umerge hints about inlining based on your feedback run.
I say hints because it's not always advantageous to inline. (Or are you
running Dhrystone :-)
I will let MIPS know about the missing uopt/umerge man pages.
Len Lattanzi (len@Synthesis.com) <{ames,pyramid,decwrl}!mips!synthesis!len>
Synthesis Software Solutions, Inc. 1 408 991 0367
292 Commercial Avenue, Sunnyvale, California 94086