Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
Source at commit a6136bd02799bcab8d2e48fd21dc91f0fee0df41 created 12 years 5 months ago. By Werner Almesberger, m1rc3/norruption/2/dumplock: use correct offset; fixed block number counting | |
---|---|
1 | #!/bin/sh -x |
2 | |
3 | |
4 | sanitize() |
5 | { |
6 | basename "$1" .fnp | tr ' ' _ | tr -cd 'A-Za-z0-9_-' | tr -s _ _ |
7 | } |
8 | |
9 | |
10 | usage() |
11 | { |
12 | cat <<EOF 1>&2 |
13 | usage: $0 [-e|-p] [-n [-o] [-s]] dir |
14 | |
15 | -e generate the calculated expression (default: just dump debug output) |
16 | -p profile 10000 runs (default: just dump debug output) |
17 | -n use "new" scheduler |
18 | -o enable LCPF optimizer |
19 | -s enable register pressure statistics |
20 | EOF |
21 | |
22 | } |
23 | |
24 | |
25 | M1=`make path` |
26 | |
27 | extra= |
28 | sched= |
29 | profile=false |
30 | evaluate=false |
31 | |
32 | while [ "${1#-}" != "$1" ]; do |
33 | case "$1" in |
34 | -e) evaluate=true;; |
35 | -p) profile=true;; |
36 | -n) sched=SCHED=sched.o;; |
37 | -o) extra="$extra -DLCPF";; |
38 | -s) extra="$extra -DREG_STATS";; |
39 | *) usage;; |
40 | esac |
41 | shift |
42 | done |
43 | |
44 | [ -z "$1" -o "$2" ] && usage |
45 | if [ ! -d "$1" ]; then |
46 | echo "$1: directory not found" 1>&2 |
47 | exit 1 |
48 | fi |
49 | |
50 | $profile || extra="$extra -DCOMP_DEBUG" |
51 | |
52 | make spotless |
53 | make CFLAGS_EXTRA="$extra" $sched all |
54 | |
55 | for n in $M1/flickernoise/patches/*/*.fnp; do |
56 | s=`sanitize "$n"` |
57 | if $profile; then |
58 | ./main "$n" 10000 || exit |
59 | gprof main >"$1"/$s |
60 | elif $evaluate; then |
61 | ./main "$n" | ./eval.pl >"$1"/$s || exit |
62 | else |
63 | ./main "$n" >"$1"/$s || exit |
64 | fi |
65 | done |
66 |
Branches:
master