From: Paul Khuong Date: Mon, 20 May 2013 14:40:00 +0000 (-0400) Subject: More robust function-name testing in CUT-TO-WIDTH X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=5b63b08f9ee8a50a679b5e533bf76e253e8caff5;p=sbcl.git More robust function-name testing in CUT-TO-WIDTH Let's use lvar-fun-name instead of replicating half the logic; as a bonus, modularity transforms now heeds NOTINLINE. --- diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp index 545c4d6..63f1980 100644 --- a/src/compiler/srctran.lisp +++ b/src/compiler/srctran.lisp @@ -2848,10 +2848,7 @@ (lambda-var (binding* ((dest (lvar-dest lvar) :exit-if-null) (nil (combination-p dest) :exit-if-null) - (fun-ref (lvar-use (combination-fun dest))) - (leaf (ref-leaf fun-ref)) - (name (and (leaf-has-source-name-p leaf) - (leaf-source-name leaf)))) + (name (lvar-fun-name (combination-fun dest)))) ;; we're about to insert an m-s-f/logand between a ref to ;; a variable and another m-s-f/logand. No point in doing ;; that; the parent m-s-f/logand was already cut to width @@ -2874,7 +2871,7 @@ (combination (when (eq (basic-combination-kind node) :known) (let* ((fun-ref (lvar-use (combination-fun node))) - (fun-name (leaf-source-name (ref-leaf fun-ref))) + (fun-name (lvar-fun-name (combination-fun node))) (modular-fun (find-modular-version fun-name kind signedp width))) (when (and modular-fun