mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-22 04:21:24 -08:00
* Add a test targeting forward propagation
* test/src/comp-tests.el (comp-tests-fw-prop-checker-1): New function. (comp-tests-fw-prop): New test.
This commit is contained in:
parent
b31b0ebefe
commit
e6ab4e3dfe
1 changed files with 22 additions and 0 deletions
|
|
@ -640,4 +640,26 @@ CHECKER should always return nil to have a pass."
|
|||
(should (subr-native-elisp-p (symbol-function #'comp-tests-tco-f)))
|
||||
(should (= (comp-tests-tco-f 1 0 10) 55))))
|
||||
|
||||
(defun comp-tests-fw-prop-checker-1 (_)
|
||||
"Check that inside `comp-tests-fw-prop-f' `concat' and `length' are folded."
|
||||
(comp-tests-make-insn-checker
|
||||
'comp-tests-fw-prop-1-f
|
||||
(lambda (insn)
|
||||
(or (comp-tests-mentioned-p 'concat insn)
|
||||
(comp-tests-mentioned-p 'length insn)))))
|
||||
|
||||
(ert-deftest comp-tests-fw-prop ()
|
||||
"Some tests for forward propagation."
|
||||
(let ((comp-speed 2)
|
||||
(comp-post-pass-hooks '((comp-final comp-tests-fw-prop-checker-1))))
|
||||
(eval '(defun comp-tests-fw-prop-1-f ()
|
||||
(let* ((a "xxx")
|
||||
(b "yyy")
|
||||
(c (concat a b))) ; <= has to optimize
|
||||
(length c))) ; <= has to optimize
|
||||
t)
|
||||
(load (native-compile #'comp-tests-fw-prop-1-f))
|
||||
(should (subr-native-elisp-p (symbol-function #'comp-tests-fw-prop-1-f)))
|
||||
(should (= (comp-tests-fw-prop-1-f) 6))))
|
||||
|
||||
;;; comp-tests.el ends here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue