summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-02-15 10:06:18 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2014-02-15 10:06:18 -0500
commit4276a0d3732f71ff4fcc1d2dbba8aa87f11a096c (patch)
treef4588f09d5ba934054024b9e94498c1920a6aef5 /src
parent03733e0e5291ca5b07270dabd71e9773a9930721 (diff)
Use neverInline in reduce
Diffstat (limited to 'src')
-rw-r--r--src/reduce.sml5
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))