aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/mono_reduce.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-01-13 18:15:04 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2011-01-13 18:15:04 -0500
commite3ce087d0a3473e3905556c226d6c5bbb2bc9a39 (patch)
tree8b084eda74b40c5837e84f4fdd6cc82b57112fb6 /src/mono_reduce.sml
parent11df1bdd195e0b04e748d0fe35d1f805e207ead0 (diff)
alwaysInline .urp setting
Diffstat (limited to 'src/mono_reduce.sml')
-rw-r--r--src/mono_reduce.sml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mono_reduce.sml b/src/mono_reduce.sml
index f8b209d5..e61ed237 100644
--- a/src/mono_reduce.sml
+++ b/src/mono_reduce.sml
@@ -374,12 +374,13 @@ fun reduce file =
TFun (t1, t2) => functionInside' t1 orelse functionInside t2
| _ => functionInside' t
- fun mayInline (n, e, t) =
+ fun mayInline (n, e, t, s) =
case IM.find (uses, n) of
NONE => false
| SOME count => count <= 1
orelse size e <= Settings.getMonoInline ()
orelse functionInside t
+ orelse Settings.checkAlwaysInline s
fun summarize d (e, _) =
let
@@ -711,7 +712,7 @@ fun reduce file =
let
val eo = case eo of
NONE => NONE
- | SOME e => if mayInline (n, e, t) then
+ | SOME e => if mayInline (n, e, t, s) then
SOME e
else
NONE