master: Don't define a no-op splat as a VOP
stassats via Sbcl-commits <[email protected]>
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via ba19daa02493847a4353ddb7bd374413889cfa12 (commit)
from 01bd7882b1af89d296a28a359419de20f423b3f2 (commit)
- Log -----------------------------------------------------------------
commit ba19daa02493847a4353ddb7bd374413889cfa12
Author: Stas Boukarev <[email protected]>
Date: Sun Aug 30 12:35:09 2026 +0300
Don't define a no-op splat as a VOP
It creates non-transparent moves.
---
src/compiler/pseudo-vops.lisp | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/src/compiler/pseudo-vops.lisp b/src/compiler/pseudo-vops.lisp
index 0dba9cfec..78a0e98df 100644
--- a/src/compiler/pseudo-vops.lisp
+++ b/src/compiler/pseudo-vops.lisp
@@ -62,13 +62,5 @@
;;; pseudo-atomic would benefit from a way to advise the allocator
;;; to fill with a non-default value.
#-x86-64
-(define-vop ()
- (:policy :fast-safe)
- (:translate sb-vm::splat)
- (:args (vector :scs (sb-vm::descriptor-reg))
- (words :scs (sb-vm::unsigned-reg sb-vm::immediate)))
- (:info value)
- (:arg-types * sb-vm::positive-fixnum (:constant t))
- (:results (result :scs (sb-vm::descriptor-reg)))
- (:ignore words value)
- (:generator 1 (move result vector)))
+(define-source-transform sb-vm::splat (vector n value)
+ `(prog1 ,vector ,n ,value))
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL