[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
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=399
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
implementation.
------- 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