diff options
author | 2014-02-15 10:06:18 -0500 | |
---|---|---|
committer | 2014-02-15 10:06:18 -0500 | |
commit | 464b0578c6cde368195afb49ffe8c192515cbe33 (patch) | |
tree | f4588f09d5ba934054024b9e94498c1920a6aef5 | |
parent | 6a907ba38d008761d8b5260bcfd721ead0626e08 (diff) |
Use neverInline in reduce
-rw-r--r-- | src/reduce.sml | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/reduce.sml b/src/reduce.sml index 933a4d94..8691b93a 100644 --- a/src/reduce.sml +++ b/src/reduce.sml @@ -849,7 +849,7 @@ fun reduce file = 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 @@ fun reduce file = | 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 @@ fun reduce file = ((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)) |