Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Revision 1133
ViewVC logotype

Revision 1133


Jump to revision: Previous Next
Author: george
Date: Tue Mar 12 03:56:23 2002 UTC (17 years, 8 months ago)
Log Message:
Tested the jump chain elimination on all architectures (except the
hppa).  This is on by default right now and is profitable for the
alpha and x86, however, it may not be profitable for the sparc and ppc
when compiling the compiler.

The gc test will typically jump to a label at the end of the cluster,
where there is another jump to an external cluster containing the actual
code to invoke gc. This is to allow factoring of common gc invocation
sequences. That is to say, we generate:

	f:
	   testgc
	   ja	L1	% jump if above to L1

	L1:
	   jmp L2


After jump chain elimination the 'ja L1' instructions is converted to
'ja L2'. On the sparc and ppc, many of the 'ja L2' instructions may end
up being implemented in their long form (if L2 is far away) using:

	jbe	L3	% jump if below or equal to L3
        jmp 	L2
     L3:
	...


For large compilation units L2  may be far away.

Changed paths:

Path Details
Directorysml/trunk/HISTORY modified , text changed
Directorysml/trunk/src/MLRISC/alpha/instructions/alphaProps.sml modified , text changed
Directorysml/trunk/src/MLRISC/backpatch/backpatch.sml modified , text changed
Directorysml/trunk/src/MLRISC/backpatch/bbsched.sig modified , text changed
Directorysml/trunk/src/MLRISC/backpatch/spanDep.sml modified , text changed
Directorysml/trunk/src/MLRISC/backpatch/vlBackPatch.sml modified , text changed
Directorysml/trunk/src/MLRISC/block-placement/block-placement.sig modified , text changed
Directorysml/trunk/src/MLRISC/block-placement/default-block-placement.sml modified , text changed
Directorysml/trunk/src/MLRISC/block-placement/jump-chain-elim-fn.sml modified , text changed
Directorysml/trunk/src/MLRISC/block-placement/weighted-block-placement-fn.sml modified , text changed
Directorysml/trunk/src/MLRISC/cm/MLRISC.cm modified , text changed
Directorysml/trunk/src/MLRISC/flowgraph/cfg.sml modified , text changed
Directorysml/trunk/src/MLRISC/hppa/instructions/hppaProps.sml modified , text changed
Directorysml/trunk/src/MLRISC/instructions/insnProps.sig modified , text changed
Directorysml/trunk/src/MLRISC/ppc/instructions/ppcProps.sml modified , text changed
Directorysml/trunk/src/MLRISC/sparc/instructions/sparcProps.sml modified , text changed
Directorysml/trunk/src/MLRISC/x86/instructions/x86Props.sml modified , text changed
Directorysml/trunk/src/compiler/CodeGen/main/machine-gen.sml modified , text changed

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0