Changeset 12382 in project
- Timestamp:
- 11/06/08 17:30:44 (12 years ago)
- Location:
- chicken/branches/lfa
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
chicken/branches/lfa/TODO
r12314 r12382 56 56 ** compiler 57 57 *** remove "custom-declare" + stuff? 58 *** lfa 59 **** trace-call 60 ***** probably need to track known procedure values/lfa-lambdas 61 ***** if op is lfa-lambda (how to obtain it is different question): 62 ****** if lfa-lambda has type-env, merge with argtypes 63 ****** if no change return lfa-lambda type (if set) 64 ****** otherwise trace body, update/merge lfa-lambda type 65 ****** call: if op has type, extend tenv for args with known sources 66 ****** check op-plist for rewrite rules, matched by argtypes 67 ****** mark result-var if op-plist is marked as predicate 68 ****** remove call, if op-plist is marked as check and argtypes match (subtypes) 58 69 59 70 ** setup/install -
chicken/branches/lfa/batch-driver.scm
r12338 r12382 305 305 (load-verbose #t) ) 306 306 ;; rebind a-g-h to allow extensions in source files to use private-namespace.scm 307 (fluid-let ((##sys#alias-global-hook ##sys#alias-global-hook)) 308 (for-each 309 (lambda (f) (load (##sys#resolve-include-filename f #f #t))) 310 extends) ) ) 307 (for-each 308 (lambda (f) (load (##sys#resolve-include-filename f #f #t))) 309 extends) ) 311 310 (set! ##sys#features (delete #:compiler-extension ##sys#features eq?)) 312 311 … … 558 557 (scan-toplevel-assignments (first (node-subexpressions node0))) ) 559 558 559 (let ((proc (user-optimization-pass))) 560 (when proc 561 (when verbose (printf "User optimization pass...~%~!")) 562 (begin-time) 563 (set! first-analysis #f) 564 (let ([db (analyze 'useropt node0)]) 565 (print-db "analysis" '|0| db 0) 566 (end-time "pre-analysis (user)") 567 (begin-time) 568 (set! node0 (proc node0 db)) 569 (end-time "user optimization pass") 570 (print-node "user optimization" 'x node0) ) 571 (set! first-analysis #t) ) ) 572 560 573 (begin-time) 561 574 (let ([node1 (perform-cps-conversion node0)]) … … 574 587 (end-time "analysis") 575 588 (print-db "analysis" '|4| db i) 576 577 589 (when (memq 's debugging-chicken) (print-program-statistics db)) 578 579 590 (cond [progress 580 581 (let ((proc (user-optimization-pass)))582 (when proc583 (when verbose (printf "User optimization pass...~%~!"))584 (set! node2 (proc node2 db)) ))585 586 591 (debugging 'p "optimization pass" i) 587 588 592 (begin-time) 589 593 (receive (node2 progress-flag) … … 591 595 (end-time "optimization") 592 596 (print-node "optimized-iteration" '|5| node2) 593 594 597 (cond [progress-flag (loop (add1 i) node2 #t)] 595 598 [(not inline-substitutions-enabled) -
chicken/branches/lfa/compiler.scm
r12338 r12382 311 311 make-random-name final-foreign-type real-name-table real-name set-real-name! safe-globals-flag 312 312 location-pointer-map literal-rewrite-hook inline-globally 313 local-definitions export-variable variable-mark intrinsic? 313 local-definitions export-variable variable-mark intrinsic? varnode? 314 314 undefine-shadowed-macros process-lambda-documentation emit-syntax-trace-info 315 315 generate-code make-variable-list make-argument-list generate-foreign-stubs foreign-type-declaration -
chicken/branches/lfa/lfa.scm
r12338 r12382 449 449 (debugging 'x "tracing call" (node-class n)) 450 450 ;... 451 )451 (values '* #f te)) 452 452 (trace node #f '())) ) 453 453 … … 458 458 (lambda (node db) 459 459 (debugging 'x "collecting lambdas ...") 460 (let ((ll (collect-lambdas node )))460 (let ((ll (collect-lambdas node db))) 461 461 (debugging 'x "lfa trace ...") 462 462 (perform-lfa node db '() ll) -
chicken/branches/lfa/optimizer.scm
r12338 r12382 60 60 topological-sort print-version print-usage initialize-analysis-database 61 61 expand-foreign-callback-lambda default-optimization-passes default-optimization-passes-when-trying-harder 62 units-used-by-default words-per-flonum rewrite inline-locally 62 units-used-by-default words-per-flonum rewrite inline-locally varnode? 63 63 parameter-limit eq-inline-operator optimizable-rest-argument-operators 64 64 membership-test-operators membership-unfold-limit valid-compiler-options valid-compiler-options-with-argument
Note: See TracChangeset
for help on using the changeset viewer.