:group 'comp)
(defvar comp-dry-run nil
- "When non nil run everything but the C back-end.")
+ "When non-nil run everything but the C back-end.")
(defconst comp-valid-source-re (rx ".el" (? ".gz") eos)
"Regexp to match filename of valid input source files.")
(d-ephemeral (make-comp-data-container) :type comp-data-container
:documentation "Relocated data not necessary after load.")
(with-late-load nil :type boolean
- :documentation "When non nil support late load."))
+ :documentation "When non-nil support late load."))
(cl-defstruct comp-args-base
(min nil :type number
"A basic block created from lap."
;; These two slots are used during limplification.
(sp nil :type number
- :documentation "When non nil indicates the sp value while entering
+ :documentation "When non-nil indicates the sp value while entering
into it.")
(addr nil :type number
:documentation "Start block LAP address."))
(const-vld nil :type boolean
:documentation "Valid signal for the following slot.")
(constant nil
- :documentation "When const-vld non nil this is used for holding
+ :documentation "When const-vld non-nil this is used for holding
a value known at compile time.")
(type nil :type symbol
- :documentation "When non nil indicates the type when known at compile
+ :documentation "When non-nil indicates the type when known at compile
time."))
;; Special vars used by some passes
(defun comp-new-frame (size &optional ssa)
"Return a clean frame of meta variables of size SIZE.
-If SSA non nil populate it of m-var in ssa form."
+If SSA non-nil populate it of m-var in ssa form."
(cl-loop with v = (make-vector size nil)
for i below size
for mvar = (if ssa
(defun comp-limplify-top-level (for-late-load)
"Create a limple function to modify the global environment at load.
-When FOR-LATE-LOAD is non nil the emitted function modifies only
+When FOR-LATE-LOAD is non-nil the emitted function modifies only
function definition.
Synthesize a function called 'top_level_run' that gets one single
(defun comp-dom-tree-walker (bb pre-lambda post-lambda)
"Dominator tree walker function starting from basic block BB.
-PRE-LAMBDA and POST-LAMBDA are called in pre or post-order if non nil."
+PRE-LAMBDA and POST-LAMBDA are called in pre or post-order if non-nil."
(when pre-lambda
(funcall pre-lambda bb))
(when-let ((out-edges (comp-block-out-edges bb)))
(comp-mvar-type lval) (comp-mvar-type rval)))
(defsubst comp-function-optimizable-p (f args)
- "Given function F called with ARGS return non nil when optimizable."
+ "Given function F called with ARGS return non-nil when optimizable."
(and (cl-every #'comp-mvar-const-vld args)
(comp-function-pure-p f)))
/* Load related routines. */
DEFUN ("native-elisp-load", Fnative_elisp_load, Snative_elisp_load, 1, 2, 0,
doc: /* Load native elisp code FILENAME.
- LATE_LOAD has to be non nil when loading for deferred
+ LATE_LOAD has to be non-nil when loading for deferred
compilation. */)
(Lisp_Object filename, Lisp_Object late_load)
{