From cac60e8eb49503defeb6defcb081e26532a25b15 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 13 Nov 2006 16:08:51 +0000 Subject: [PATCH] Add some output so the user is informed while they wait. llvm-svn: 31700 --- llvm/utils/findmisopt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/llvm/utils/findmisopt b/llvm/utils/findmisopt index 2f5745b0ea45..80b8006178e9 100755 --- a/llvm/utils/findmisopt +++ b/llvm/utils/findmisopt @@ -54,6 +54,15 @@ echo "Test Name: $name" echo "Unoptimized program: $prog" echo " Optimized program: $optprog" +# Create output directory if it doesn't exist +if [ -f "$outdir" ] ; then + echo "$outdir is not a directory" + exit 1 +fi + +if [ ! -d "$outdir" ] ; then + mkdir "$outdir" || exit 1 +fi # Generate the disassembly llvm-dis "$bcfile" -o "$ll" -f || exit 1 @@ -72,9 +81,9 @@ function tryit { llvm-dis "$optbc" -o "$optll" -f || exit llc "$optbc" -o "$opts" -f || exit gcc "$opts" -o "$optprog" -lstdc++ -lc -lm || exit - "$prog" $args > "$out" + "$prog" $args > "$out" 2>&1 ex1=$? - "$optprog" $args > "$optout" + "$optprog" $args > "$optout" 2>&1 ex2=$? if [ -n "$match" ] ; then @@ -98,7 +107,9 @@ function tryit { return 1 } +echo "Trying to find optimization that breaks program:" for sw in $all_switches ; do + echo -n " $sw" switches="$switches $sw" if tryit "$switches" ; then break; @@ -123,7 +134,7 @@ while [ ! -z "$switches" ] ; do done if [ "$final" == " $all_switches" ] ; then - echo "findmisopt: Can't find a set of optimizations that make it fail" + echo "findmisopt: All optimizations pass. Perhaps this isn't a misopt?" exit 0 fi echo "Smallest Optimization list=$final"