[LLVMbugs] [Bug 399] NEW: Organize Global Type Plane

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Jul 4 21:19:39 PDT 2004


           Summary: Organize Global Type Plane
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Bytecode Writer
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com

Currently, the bcwriter just emits the types in the global type plane in the
order that it discovers them (by traveral of the module). This could lead to a
non-optimal ordering of the types in larger modules. 

Since bytecode size is dependent on the values of the type ids (the indices of
the array of types written), it would be prudent to organize the global type
list so that the most frequently occuring types have the lowest type ids. This
means that the largest number of instructions, global vars, and constant
expressions will utilize the smallest integer indices and also reduce the need
for compaction tables.

The ordering of the types in the plane should be determined simply by the number
of Value* that use each type. This can be discovered during traversal in the
current bytecode reader or it might be useful to create a new analysis pass that
simply collects the data and sorts the types by most frequently used.

It is unclear at this time if the effort expended in sorting of the global type
plane is worthwhile in terms of speed and size of bytecode files generated. Some
simple bytecode experiments should be attempted in the bcanalyzer before

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list