Commentary

This commit is contained in:
Wilson Snyder 2008-11-16 20:30:22 -05:00
parent e46e7bbf99
commit d2105ba390
2 changed files with 14 additions and 11 deletions

View File

@ -445,20 +445,23 @@ mappings of optimizations to -O letters.
Enables splitting the output .cpp/.sp files into multiple outputs. When a
C++ file exceeds the specified number of operations, a new file will be
created. In addition, any slow routines will be placed into __Slow files.
This accelerates compilation by as optimization can be disabled on the slow
routines, and the remaining files can be compiled on parallel machines.
Using --output-split should have only a trivial impact on performance.
With GCC 3.3 on a 2GHz Opteron, --output-split 20000 will result in
splitting into approximately one-minute-compile chunks.
created at the next function boundary. In addition, any slow routines will
be placed into __Slow files. This accelerates compilation by as
optimization can be disabled on the slow routines, and the remaining files
can be compiled on parallel machines. Using --output-split should have
only a trivial impact on performance. With GCC 3.3 on a 2GHz Opteron,
--output-split 20000 will result in splitting into approximately
one-minute-compile chunks.
=item --output-split-cfuncs I<statements>
Enables splitting functions in the output .cpp/.sp files into multiple
functions. When a generated function exceeds the specified number of
operations, a new function will be created. With --output-split, this will
enable GCC to compile faster, at a small loss in performance that increases
with smaller statement values.
enable GCC to compile faster, at a small loss in performance that gets
worse with decreasing split values. Note that this option is stronger than
--output-split in the sense that --output-split will not split inside a
function.
=item --prefix I<topname>

View File

@ -34,11 +34,11 @@
// For each var it sets, make vertex and edge from cfunc vertex
//
// For each CFUNC in graph
// Add ASSIGN(SEL(__Vm_funcActivity,activityNumber++),1)
// Create __Vm_funcActivity vector
// Add ASSIGN(SEL(__Vm_traceActivity,activityNumber++),1)
// Create __Vm_traceActivity vector
// Sort TRACEs by activityNumber(s) they come from (may be more than one)
// Each set of activityNumbers
// Add IF (SEL(__Vm_funcActivity,activityNumber),1)
// Add IF (SEL(__Vm_traceActivity,activityNumber),1)
// Add traces under that activity number.
// Assign trace codes:
// If from a VARSCOPE, record the trace->varscope map