Passing -profile-compiler switch to bootstrap collects timing information from optimizer passes
parent
b43c8b40ac
commit
47920a7a0c
|
@ -10,6 +10,10 @@ math.order quotations quotations.private assocs.private ;
|
||||||
FROM: compiler => enable-optimizer ;
|
FROM: compiler => enable-optimizer ;
|
||||||
IN: bootstrap.compiler
|
IN: bootstrap.compiler
|
||||||
|
|
||||||
|
"profile-compiler" get [
|
||||||
|
"bootstrap.compiler.timing" require
|
||||||
|
] when
|
||||||
|
|
||||||
! Don't bring this in when deploying, since it will store a
|
! Don't bring this in when deploying, since it will store a
|
||||||
! reference to 'eval' in a global variable
|
! reference to 'eval' in a global variable
|
||||||
"deploy-vocab" get "staging" get or [
|
"deploy-vocab" get "staging" get or [
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
! Copyright (C) 2009 Slava Pestov.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: accessors compiler.cfg.builder compiler.cfg.linear-scan
|
||||||
|
compiler.cfg.liveness compiler.cfg.mr compiler.cfg.optimizer
|
||||||
|
compiler.cfg.stacks.finalize compiler.cfg.stacks.global
|
||||||
|
compiler.codegen compiler.tree.builder compiler.tree.optimizer
|
||||||
|
kernel make sequences tools.annotations tools.crossref ;
|
||||||
|
IN: bootstrap.compiler.timing
|
||||||
|
|
||||||
|
: passes ( word -- seq )
|
||||||
|
def>> uses [ vocabulary>> "compiler." head? ] filter ;
|
||||||
|
|
||||||
|
: high-level-passes ( -- seq ) \ optimize-tree passes ;
|
||||||
|
|
||||||
|
: low-level-passes ( -- seq ) \ optimize-cfg passes ;
|
||||||
|
|
||||||
|
: machine-passes ( -- seq ) \ build-mr passes ;
|
||||||
|
|
||||||
|
: linear-scan-passes ( -- seq ) \ (linear-scan) passes ;
|
||||||
|
|
||||||
|
: all-passes ( -- seq )
|
||||||
|
[
|
||||||
|
\ build-tree ,
|
||||||
|
\ optimize-tree ,
|
||||||
|
high-level-passes %
|
||||||
|
\ build-cfg ,
|
||||||
|
\ compute-global-sets ,
|
||||||
|
\ finalize-stack-shuffling ,
|
||||||
|
\ optimize-cfg ,
|
||||||
|
low-level-passes %
|
||||||
|
\ compute-live-sets ,
|
||||||
|
\ build-mr ,
|
||||||
|
machine-passes %
|
||||||
|
linear-scan-passes %
|
||||||
|
\ generate ,
|
||||||
|
] { } make ;
|
||||||
|
|
||||||
|
all-passes [ [ reset ] [ add-timing ] bi ] each
|
Loading…
Reference in New Issue