# HG changeset patch # User Adam Chlipala # Date 1392476778 18000 # Node ID f463c773ed6a34bc0020242df5ff3b1b538c2284 # Parent 2c075e875a4736dd9dbe42e26ebae328fe42e39c Use neverInline in reduce diff -r 2c075e875a47 -r f463c773ed6a src/reduce.sml --- a/src/reduce.sml Fri Feb 14 15:11:22 2014 -0500 +++ b/src/reduce.sml Sat Feb 15 10:06:18 2014 -0500 @@ -849,7 +849,7 @@ con = fn (_, n) => n, exp = fn (_, n) => n + 1} 0 - fun mayInline (polyC, n, t, e) = + fun mayInline (polyC, n, t, e, s) = let fun isPolicy t = case #1 t of @@ -857,6 +857,7 @@ | TFun (_, t) => isPolicy t | _ => false in + not (Settings.checkNeverInline s) andalso case IM.find (uses, n) of NONE => false | SOME count => count <= 1 @@ -907,7 +908,7 @@ ((DVal (x, n, t, e, s), loc), (polyC, namedC, - if mayInline (polyC, n, t, e) then + if mayInline (polyC, n, t, e, s) then IM.insert (namedE, n, e) else namedE))