Changeset 15076


Ignore:
Timestamp:
Nov 19, 2011, 10:10:25 PM (8 years ago)
Author:
gb
Message:

VINSN-SEQUENCE-HAS-SOME-ATTRIBUTE-P.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/vinsn.lisp

    r15022 r15076  
    553553
    554554;;; Return T if any vinsn between START and END (exclusive) has all
    555 ;;; attributes set in MASK set.
     555;;; attributes set in ATTR set.
    556556(defun %vinsn-sequence-has-attribute-p (start end attr)
    557557  (do* ((element (dll-node-succ start) (dll-node-succ element)))
     
    561561        (return t)))))
    562562
     563;;; Return T if any vinsn between START and END (exclusive) has some
     564;;; some attributes set in attr set.
     565(defun %vinsn-sequence-has-some-attribute-p (start end attr)
     566  (do* ((element (dll-node-succ start) (dll-node-succ element)))
     567       ((eq element end))
     568    (when (typep element 'vinsn)
     569      (when (logtest attr (vinsn-template-attributes (vinsn-template element)))
     570        (return t)))))
     571
    563572(defmacro vinsn-sequence-has-attribute-p (start end &rest attrs)
    564573  `(%vinsn-sequence-has-attribute-p ,start ,end ,(encode-vinsn-attributes attrs)))
     574
     575(defmacro vinsn-sequence-has-some-attribute-p (start end &rest attrs)
     576  `(%vinsn-sequence-has-some-attribute-p ,start ,end ,(encode-vinsn-attributes attrs)))
    565577
    566578;;; Return T iff vinsn is between START and END (exclusive).
Note: See TracChangeset for help on using the changeset viewer.