diff options
| author | Andrea Corallo | 2022-08-24 18:41:19 +0200 |
|---|---|---|
| committer | Andrea Corallo | 2023-05-23 16:39:05 +0200 |
| commit | f4de81af8fc54ef278cdb76fbc5885ed7d05b2d7 (patch) | |
| tree | ebff4113a789ec6a8366158913251c127d9d2c88 /lisp | |
| parent | 92ccb6ba83076a40f3bfc7906913346a5b3a7a92 (diff) | |
| download | emacs-f4de81af8fc54ef278cdb76fbc5885ed7d05b2d7.tar.gz emacs-f4de81af8fc54ef278cdb76fbc5885ed7d05b2d7.zip | |
* lisp/emacs-lisp/comp.el (comp-fwprop-call): Extend to understand `record'
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/emacs-lisp/comp.el | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 2e07b0b0e60..289c5bf2ac4 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el | |||
| @@ -3198,7 +3198,11 @@ Fold the call in case." | |||
| 3198 | (+ (comp-cstr-add lval args)) | 3198 | (+ (comp-cstr-add lval args)) |
| 3199 | (- (comp-cstr-sub lval args)) | 3199 | (- (comp-cstr-sub lval args)) |
| 3200 | (1+ (comp-cstr-add lval `(,(car args) ,comp-cstr-one))) | 3200 | (1+ (comp-cstr-add lval `(,(car args) ,comp-cstr-one))) |
| 3201 | (1- (comp-cstr-sub lval `(,(car args) ,comp-cstr-one)))))) | 3201 | (1- (comp-cstr-sub lval `(,(car args) ,comp-cstr-one))) |
| 3202 | (record (when (comp-cstr-imm-vld-p (car args)) | ||
| 3203 | (comp-cstr-shallow-copy lval | ||
| 3204 | (comp-type-spec-to-cstr | ||
| 3205 | (comp-cstr-imm (car args))))))))) | ||
| 3202 | 3206 | ||
| 3203 | (defun comp-fwprop-insn (insn) | 3207 | (defun comp-fwprop-insn (insn) |
| 3204 | "Propagate within INSN." | 3208 | "Propagate within INSN." |