cord man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

cord(1)								       cord(1)

NAME
       cord  - Rearrange procedures in an executable file to facilitate better
       cache mapping

SYNOPSIS
       cord [-vV] [-o outfile] [-f] [-c	 cachesize]  [-p  maxphases]  obj-file
       reorder-file

OPTIONS
       The cord command accepts the following options: Prints verbose informa‐
       tion. This includes listing those procedures that are  considered  part
       of  other  procedures and that cannot be rearranged (that is, assembler
       procedures that may  contain  relative  branches	 to  other  procedures
       instead	of  relocatable branches). The listing also lists those proce‐
       dures in the flipped area (if any) and a mapping	 of  old  location  to
       new.   Displays	the version of the cord command.  Specifies the output
       file. If not specified, a.out is used.  Flips the first cachepage  size
       procedures.  When  cord was written, the assumption was that procedures
       would be reordered by  procedure	 density  (cycles/byte).  This	option
       ensures	that the densest part of each page following the first cachep‐
       age would conflict with the least-dense part of	the  first  cachepage.
       Specifies the cache size (in bytes) of the machine on which you want to
       execute. This only affects the -f option. If not	 specified,  65536  is
       used.  Specifies the maximum number phases allowed. The default is 20.

DESCRIPTION
       The  cord command rearranges procedures in an executable object file to
       maximize efficiency in a machine's cache. By rearranging the procedures
       properly,  you  can  reduce  the instruction cache miss rates. The cord
       command does not attempt to determine the correct ordering; it must  be
       given  a	 reorder-file  containing  the	desired	 procedure  order. The
       reorder file is generated by the ftoc program, which in turn  generates
       a reorder file from a set of profile feedback files (see prof(1)).

       Processed  lines	 in  the reorder file are called procedure lines. Each
       procedure line must be on a separate source line. Each  procedure  line
       must contain the source name of the file, followed by a blank, followed
       by a qualified procedure name. Nested procedures must be qualified x.y,
       where  x is the outer procedure. A newline or blank can follow the pro‐
       cedure name:

       foo.c bar (everything else following is ignored)

       Lines beginning with # are comments, lines beginning with $ are consid‐
       ered  cord  directive lines. The only directive currently understood is
       $phase. This directive will consider the rest of the  file  (until  the
       end  of	file  or  next	$phase) as a new phase of the program and will
       order the procedures accordingly.  A procedure may appear in more  than
       one  phase,  resulting in more than one copy of it in the final binary.
       First, cord will try to relocate procedure references to a copy of  the
       procedure  belonging  to the requesting phase; otherwise, it will relo‐
       cate the references to a random copy.

       Use the -cord option to a compiler driver like cc(1) rather  than  exe‐
       cute  cord  directly.  The  cord options can be specified with -Wc,cor‐
       darg0,cordarg1,.... If you have to run cord by hand, you	 may  want  to
       run  it	once  with the driver using the -v option on a simple program.
       This will enable you to see the exact passes and the arguments involved
       in using cord.

				       Warning

       Since  cord  works from an input list of procedures generated from pro‐
       file output, the resulting binary is data dependent. In other words, it
       may only perform well on the same input data that generated the profile
       information, and may perform worse than the original  binary  on	 other
       data.  Furthermore,  if the hot areas in the cache do not fit well into
       one cachepage, performance can degrade.

SEE ALSO
       Commands:  cc(1), ftoc(1), ld(1), prof(1)

       Programmer's Guide

								       cord(1)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net