projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 1996-01-22 18:59:42 by partain]
[ghc-hetmet.git]
/
ghc
/
driver
/
ghc.lprl
diff --git
a/ghc/driver/ghc.lprl
b/ghc/driver/ghc.lprl
index
9010094
..
8ccef55
100644
(file)
--- a/
ghc/driver/ghc.lprl
+++ b/
ghc/driver/ghc.lprl
@@
-211,6
+211,7
@@
$Oopt_DoSpecialise = '-fspecialise';
$Oopt_FoldrBuild = 1; # On by default!
$Oopt_FB_Support = '-fdo-new-occur-anal -fdo-arity-expand';
#$Oopt_FoldrBuildWW = 0; # Off by default
$Oopt_FoldrBuild = 1; # On by default!
$Oopt_FB_Support = '-fdo-new-occur-anal -fdo-arity-expand';
#$Oopt_FoldrBuildWW = 0; # Off by default
+$Oopt_FoldrBuildInline = '-fdo-inline-foldr-build';
\end{code}
Things to do with C compilers/etc:
\end{code}
Things to do with C compilers/etc:
@@
-282,7
+283,7
@@
$BuildTag = ''; # default is sequential build w/ Appel-style GC
%BuildDescr = ('', 'normal sequential',
'_p', 'profiling',
'_t', 'ticky-ticky profiling',
%BuildDescr = ('', 'normal sequential',
'_p', 'profiling',
'_t', 'ticky-ticky profiling',
- '_t', 'unregisterized (using portable C only)',
+ '_u', 'unregisterized (using portable C only)',
'_mc', 'concurrent',
'_mr', 'profiled concurrent',
'_mt', 'ticky concurrent',
'_mc', 'concurrent',
'_mr', 'profiled concurrent',
'_mt', 'ticky concurrent',
@@
-600,8
+601,9
@@
arg: while($_ = $ARGV[0]) {
/^-nohi$/ && do { $ProduceHi = 0; next arg; };
# don't generate an interface (even if generating C)
/^-nohi$/ && do { $ProduceHi = 0; next arg; };
# don't generate an interface (even if generating C)
- /^-hi-diffs$/ && do { $HiDiff_flag = 1; next arg; };
- # show diffs if the interface file changes
+ /^-hi-diffs$/ && do { $HiDiff_flag = 1; next arg; };
+ /^-no-hi-diffs$/ && do { $HiDiff_flag = 0; next arg; };
+ # show/disable diffs if the interface file changes
/^-E$/ && do { push(@CcBoth_flags, '-E');
$Only_preprocess_C = 1;
/^-E$/ && do { push(@CcBoth_flags, '-E');
$Only_preprocess_C = 1;
@@
-961,6
+963,12
@@
arg: while($_ = $ARGV[0]) {
# Now the foldr/build options, which are *on* by default (for -O).
# Now the foldr/build options, which are *on* by default (for -O).
+ /^-ffoldr-build$/
+ && do { $Oopt_FoldrBuild = 1;
+ $Oopt_FB_Support = '-fdo-new-occur-anal -fdo-arity-expand';
+ #print "Yes F/B\n";
+ next arg; };
+
/^-fno-foldr-build$/
&& do { $Oopt_FoldrBuild = 0;
$Oopt_FB_Support = '';
/^-fno-foldr-build$/
&& do { $Oopt_FoldrBuild = 0;
$Oopt_FB_Support = '';
@@
-974,6
+982,11
@@
arg: while($_ = $ARGV[0]) {
&& do { $Oopt_FB_Support = '';
next arg; };
&& do { $Oopt_FB_Support = '';
next arg; };
+ /^-fno-snapback-to-append$/
+ && do { $Oopt_FoldrBuildInline .= ' -fdo-not-fold-back-append ';
+ #print "No Foldback of append\n";
+ next arg; };
+
# /^-ffoldr-build-ww$/
# && do { $Oopt_FoldrBuildWW = 1; next arg; };
# /^-ffoldr-build-ww$/
# && do { $Oopt_FoldrBuildWW = 1; next arg; };
@@
-1484,7
+1497,10
@@
It really really wants to be the last STG-to-STG pass that is run.
'-fdo-eta-reduction',
'-fdo-lambda-eta-expansion',
'-freuse-con',
'-fdo-eta-reduction',
'-fdo-lambda-eta-expansion',
'-freuse-con',
- '-fdo-inline-foldr-build', # foldr/build done so inline
+ ($Oopt_FoldrBuildInline),
+ # you need to inline foldr and build
+ ($Oopt_FoldrBuild) ? ('-fdo-foldr-build') : (),
+ # but do reductions if you see them!
"$Oopt_PedanticBottoms",
"$Oopt_MonadEtaExpansion",
"$Oopt_UnfoldingUseThreshold",
"$Oopt_PedanticBottoms",
"$Oopt_MonadEtaExpansion",
"$Oopt_UnfoldingUseThreshold",
@@
-1533,7
+1549,9
@@
It really really wants to be the last STG-to-STG pass that is run.
'-freuse-con',
'-flet-to-case',
'-fignore-inline-pragma', # **** NB!
'-freuse-con',
'-flet-to-case',
'-fignore-inline-pragma', # **** NB!
- '-fdo-inline-foldr-build', # NB
+ $Oopt_FoldrBuildInline,
+ ($Oopt_FoldrBuild) ? ('-fdo-foldr-build') : (),
+ # but still do reductions if you see them!
"$Oopt_PedanticBottoms",
"$Oopt_MonadEtaExpansion",
"$Oopt_UnfoldingUseThreshold",
"$Oopt_PedanticBottoms",
"$Oopt_MonadEtaExpansion",
"$Oopt_UnfoldingUseThreshold",
@@
-2019,7
+2037,7
@@
args: while ($a = shift(@ARGV)) {
}
}
}
}
-exec "$SysMan $debug $nprocessors @nonPVM_args";
+exec "$SysMan $debug $pvm_executable $nprocessors @nonPVM_args";
print STDERR "Exec failed!!!: $SysMan $debug $nprocessors @nonPVM_args\n";
exit(1);
EOSCRIPT2
print STDERR "Exec failed!!!: $SysMan $debug $nprocessors @nonPVM_args\n";
exit(1);
EOSCRIPT2