From: Nikodemus S. <nik...@ra...> - 2008-12-11 20:31:16
|
On Thu, Dec 11, 2008 at 10:06 PM, Tobias C. Rittweiler <tc...@fr...> wrote: > Well, of course! But I think ANY results in the prevention of > optimizations. If NIL is specified, what kind of optimizations are still > performed that are prevented by ANY? If a function has ANY + FLUSHABLE, the flushable doesn't take effect, but potentially would if this issue was addressed: (let ((kind (combination-kind node)) (info (combination-fun-info node))) (when (and (eq kind :known) (fun-info-p info)) (let ((attr (fun-info-attributes info))) (when (and (not (ir1-attributep attr call)) ;; ### For now, don't delete potentially ;; flushable calls when they have the CALL ;; attribute. Someday we should look at the ;; functional args to determine if they have ;; any side effects. (if (policy node (= safety 3)) (ir1-attributep attr flushable) (ir1-attributep attr unsafely-flushable))) (flush-combination node)))))) I don't believe ANY has any other effects than inhibiting flushing right now. Cheers, -- Nikodemus |