mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
tools/add_cont_lines:
tools/appears:
tools/assemble:
tools/avg_frame_size:
tools/build_srcdist:
tools/cleanint:
tools/compare_frame_sizes:
tools/configure_mingw_cross:
tools/cont:
tools/ctor_rep_stats:
tools/cur_param:
tools/dd_speedtest:
tools/divide:
tools/extract_dd_stats:
tools/file_name_translation_stats:
tools/frame_sizes:
tools/gdbrun:
tools/half:
tools/info_stats.awk:
tools/linear:
tools/lmc.in:
tools/mai_stats:
tools/make_arena:
tools/next_param:
tools/not:
tools/optstages:
tools/type_ctor_stats:
Add vim mode lines. Replace tabs with spaces.
52 lines
958 B
Bash
Executable File
52 lines
958 B
Bash
Executable File
#!/bin/sh
|
|
# vim: ft=sh ts=4 sw=4 et
|
|
# Given the name of a file containing output generated by mmc --debug-opt,
|
|
# e.g. Out, generate a series of files Out.stage.N, each containing the
|
|
# output of one stage of the optimization process.
|
|
#
|
|
# This script is most useful if the input file was generated by compiling
|
|
# a Mercury module containing only one procedure.
|
|
|
|
if test $# != 1
|
|
then
|
|
echo "Usage: optstages filename"
|
|
exit 1
|
|
fi
|
|
|
|
TERMCAP=/etc/termcap; export TERMCAP
|
|
cp $1 .tmp
|
|
|
|
/bin/rm $1.stage.* > /dev/null 2>&1
|
|
|
|
# get rid of everything before
|
|
ed - .tmp > /dev/null << END
|
|
/^before optimization/
|
|
1,-d
|
|
/^% Optimizing/
|
|
1,-w $1.stage.0
|
|
1,-d
|
|
w
|
|
q
|
|
END
|
|
echo "created $1.stage.0"
|
|
|
|
i=1
|
|
while test `egrep '^after' .tmp | wc -l` -gt 1
|
|
do
|
|
ed - .tmp > /dev/null << END
|
|
/^after/
|
|
/^% Optimizing/
|
|
1,-w $1.stage.$i
|
|
1,-d
|
|
w
|
|
q
|
|
END
|
|
echo "created $1.stage.$i"
|
|
i=`expr $i + 1`
|
|
done
|
|
|
|
mv .tmp $1.stage.$i
|
|
echo "created $1.stage.$i"
|
|
|
|
exit 0
|