-O setup: enable -fclone-binds in simplifier pass immediately
preceeding -ffull-laziness (see comment)
new option: -hi-with-<section> to selectively output contents of
interface file.
# TEMP: disable x86 if $HaveNativeCodeGen && $TargetPlatform =~ /^(i386|alpha|sparc)-/;
$ProduceHi = '-hifile=';
$HiOnStdout = 0;
# TEMP: disable x86 if $HaveNativeCodeGen && $TargetPlatform =~ /^(i386|alpha|sparc)-/;
$ProduceHi = '-hifile=';
$HiOnStdout = 0;
$HiDiff_flag = '';
$Keep_HiDiffs = 0;
$HiDiff_flag = '';
$Keep_HiDiffs = 0;
$Oopt_UnfoldingUseThreshold,
$Oopt_MaxSimplifierIterations,
$Oopt_ShowSimplifierProgress,
$Oopt_UnfoldingUseThreshold,
$Oopt_MaxSimplifierIterations,
$Oopt_ShowSimplifierProgress,
+ #
+ # The presence of -fclone-binds is *crucial* here as
+ # -ffull-laziness (which we're about to do next) floats
+ # bindings outwards, so we better make sure that this
+ # doesn't result in the floating out of bindings
+ # with identical uniques, i.e., -ffull-laziness needs
+ # to be preceeded by a simplifier pass with -fclone-binds
+ # set.
+ '-fclone-binds',
']',
#LATER: '-fcalc-inlinings1', -- pointless for 2.01
']',
#LATER: '-fcalc-inlinings1', -- pointless for 2.01
foreach $d ( @Import_dir ) {
if ($HiIncludeString) {
foreach $d ( @Import_dir ) {
if ($HiIncludeString) {
- $HiIncludeString = "$HiIncludeString:${d}/%.${HiSuffix}";
+ $HiIncludeString = "$HiIncludeString:${d}%.${HiSuffix}";
- $HiIncludeString = "$d/%.${HiSuffix}";
+ $HiIncludeString = "$d%.${HiSuffix}";
}
}
foreach $d ( @SysImport_dir ) {
if ($HiIncludeString) {
}
}
foreach $d ( @SysImport_dir ) {
if ($HiIncludeString) {
- $HiIncludeString = "$HiIncludeString:${d}/%.${HiSuffix_prelude}";
+ $HiIncludeString = "$HiIncludeString:${d}%.${HiSuffix_prelude}";
- $HiIncludeString = "${d}/%.${HiSuffix_prelude}";
+ $HiIncludeString = "${d}%.${HiSuffix_prelude}";
next arg; };
# leave out actual C generation (debugging) [also turns off interface gen]
next arg; };
# leave out actual C generation (debugging) [also turns off interface gen]
- /^-hi$/ && do { $HiOnStdout = 1; $ProduceHi = '-hifile='; next arg; };
+
+ /^-hi$/ && do { $HiOnStdout = 1; $ProduceHi = '-hifile='; next arg; };
# _do_ generate an interface; usually used as: -noC -hi
# _do_ generate an interface; usually used as: -noC -hi
+ /^-hi-with-(.*)$/ && do { $HiOnStdout = 1; $HiWith .= " $1" ; $ProduceHi = '-hifile='; next arg; };
+ # limit ourselves to outputting a particular section.
/^-nohi$/ && do { $ProduceHi = '-nohifile='; next arg; };
# don't generate an interface (even if generating C)
/^-nohi$/ && do { $ProduceHi = '-nohifile='; next arg; };
# don't generate an interface (even if generating C)