mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-25 05:51:55 -08:00
sysfun declarations revolve strictly around c function inlining that is specific to the C backend. Moreover be more explicit about symbol packages and check feature-conditioned inlines at runtime (not at readtime) in case that we construct the inline information for a cross-compiled target. This should be further improved.
93 lines
3 KiB
Text
93 lines
3 KiB
Text
|
|
;;; @configure_input@
|
|
|
|
(defconstant +cmp-module-files+
|
|
'("src:cmp;cmppackage.lsp"
|
|
"src:cmp;cmpglobals.lsp"
|
|
"build:cmp;cmpdefs.lsp"
|
|
"src:cmp;cmputil.lsp"
|
|
"src:cmp;cmpcond.lsp"
|
|
"src:cmp;cmptype-arith.lsp"
|
|
"src:cmp;cmppolicy.lsp"
|
|
;; Internal representation
|
|
"src:cmp;cmprefs.lsp"
|
|
"src:cmp;cmplocs.lsp"
|
|
;; Environment
|
|
"src:cmp;cmpenv-api.lsp"
|
|
"src:cmp;cmpenv-var.lsp"
|
|
"src:cmp;cmpenv-fun.lsp"
|
|
"src:cmp;cmpenv-optimize.lsp"
|
|
"src:cmp;cmpenv-declare.lsp"
|
|
"src:cmp;cmpenv-proclaim.lsp"
|
|
"src:cmp;cmpenv-declaim.lsp"
|
|
;; Internal representation
|
|
"src:cmp;cmptypes.lsp"
|
|
"src:cmp;cmptables.lsp"
|
|
"src:cmp;cmpform.lsp"
|
|
"src:cmp;cmpvar.lsp"
|
|
"src:cmp;cmpfun.lsp"
|
|
;; Types
|
|
"src:cmp;cmptype-prop.lsp"
|
|
"src:cmp;cmptype.lsp"
|
|
"src:cmp;cmptype-assert.lsp"
|
|
;; AST building pass
|
|
"src:cmp;cmppass1-data.lsp"
|
|
"src:cmp;cmppass1-top.lsp"
|
|
"src:cmp;cmppass1-stack.lsp"
|
|
"src:cmp;cmppass1-special.lsp"
|
|
"src:cmp;cmppass1-cont.lsp"
|
|
"src:cmp;cmppass1-eval.lsp"
|
|
"src:cmp;cmppass1-call.lsp"
|
|
"src:cmp;cmppass1-var.lsp"
|
|
"src:cmp;cmppass1-fun.lsp"
|
|
"src:cmp;cmppass1-ffi.lsp"
|
|
;; Type propagation pass
|
|
"src:cmp;cmpprop.lsp"
|
|
"src:cmp;cmpprop-num.lsp"
|
|
;; C/C++ backend
|
|
"src:cmp;cmpbackend-cxx;cmpc-util.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-mach.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-wt.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-inl-sysfun.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-inl-lspfun.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-inliner.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-opt-inl.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-opt-num.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-opt-ct.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpc-opt-printer.lsp"
|
|
;; Code generation pass
|
|
"src:cmp;cmpbackend-cxx;cmppass2-data.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-top.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-stack.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-special.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-exit.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-cont.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-eval.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-call.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-var.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-loc.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-fun.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmppass2-ffi.lsp"
|
|
"src:cmp;cmpbackend-cxx;cmpbackend-cxx.lsp"
|
|
;; Optimizations
|
|
"src:cmp;cmpmap.lsp"
|
|
"src:cmp;cmpname.lsp"
|
|
"src:cmp;cmpopt.lsp"
|
|
"src:cmp;cmpopt-num.lsp"
|
|
"src:cmp;cmpopt-clos.lsp"
|
|
"src:cmp;cmpopt-constant.lsp"
|
|
"src:cmp;cmpopt-cons.lsp"
|
|
"src:cmp;cmpopt-sequence.lsp"
|
|
"src:cmp;cmpopt-type.lsp"
|
|
"src:cmp;cmpclos.lsp" ;unused
|
|
"src:cmp;cmpstructures.lsp" ;unused
|
|
"src:cmp;cmparray.lsp"
|
|
;; Other
|
|
"src:cmp;cmpos-run.lsp"
|
|
"src:cmp;cmpos-features.lsp"
|
|
"src:cmp;cmpmain.lsp"
|
|
"src:cmp;proclamations.lsp"))
|
|
|
|
(let ((si::*keep-documentation* nil))
|
|
(mapc #'(lambda (x) (load x :verbose t)) +cmp-module-files+))
|
|
|