-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerate.sh
executable file
·73 lines (66 loc) · 1.2 KB
/
generate.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#set -e
LLVM_INSTALL_DIR="/bin" # directory install LLVM: Ex.: /llvm-project/build
BENCH=(
Apex_Predator
Arcane
B1nary
BallPit
Beastmode
Cbot
CyberWar
Demeter
Demon.a
Demon.e
eragon
eragon2.0
Execution.i
Extendo
FBot.a
Galaxy.d
Galaxy.g
Hades
Hakai.a
Joker
Josho.b
Josho.c
Katrina.a
Kira
Kowai
L33t.d
L7
Lulz
Oblivion
Okami
Onryo
Oreo
OwariReborn
Razor
Reaper.a
Reaper.b
Rektbot
Renegade
Selfrep
Shinto.d
Sora
Sythe
Ultron.a
Void
Yagi
Yakuza
Yummy
Zekrom
)
mkdir -p results
mkdir -p results/obj
mkdir -p results/bytecode
mkdir -p results/bin
rm -rf *.ll
for ((i=0; i < ${#BENCH[@]}; i++)) do
echo ${BENCH[i]}
FILE=src/${BENCH[i]}/*.c
$LLVM_INSTALL_DIR/clang -Xclang -disable-O0-optnone -c -S -emit-llvm $FILE &> /tmp/trash.txt
$LLVM_INSTALL_DIR/llvm-link -S *.ll -o results/bytecode/${BENCH[i]}.ll --only-needed
$LLVM_INSTALL_DIR/clang -c results/bytecode/${BENCH[i]}.ll -o results/obj/${BENCH[i]}.o
$LLVM_INSTALL_DIR/clang results/bytecode/${BENCH[i]}.ll -o results/bin/${BENCH[i]}.exe
rm -rf *.ll
done