Skip to content

Commit ffb951a

Browse files
committed
Add PPC to Update-Arch.sh
1 parent f26470e commit ffb951a

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

suite/auto-sync/Update-Arch.sh

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ setup_build_dir() {
5353
# Main
5454
#
5555

56-
supported="ARM"
56+
supported="ARM, PPC"
5757

5858
if [ $# -ne 3 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
5959
echo "$0 <arch> <path-llvm-project> <llvm-release-commit>"
@@ -99,12 +99,15 @@ $tblgen --printerLang=CCS --gen-subtarget -I "$llvm_root/llvm/include/" -I "$llv
9999
echo "[*] Generate Mapping tables..."
100100
$tblgen --printerLang=CCS --gen-asm-matcher -I "$llvm_root/llvm/include/" -I "$llvm_root/llvm/lib/Target/$llvm_target_dir/" "$llvm_root/llvm/lib/Target/$llvm_target_dir/$arch.td"
101101

102-
echo "[*] Generate System Register tables..."
103-
$tblgen --printerLang=CCS --gen-searchable-tables -I "$llvm_root/llvm/include/" -I "$llvm_root/llvm/lib/Target/$llvm_target_dir/" "$llvm_root/llvm/lib/Target/$llvm_target_dir/$arch.td"
104-
sed -i "s/##ARCH##/$arch/g" __ARCH__GenCSSystemRegisterEnum.inc
105-
sed -i "s/##ARCH##/$arch/g" __ARCH__GenSystemRegister.inc
106-
cp __ARCH__GenCSSystemRegisterEnum.inc $arch"GenCSSystemRegisterEnum.inc"
107-
cp __ARCH__GenSystemRegister.inc $arch"GenSystemRegister.inc"
102+
has_sys_reg_tables="ARM"
103+
if echo "$has_sys_reg_tables" | grep -q -w "$arch"; then
104+
echo "[*] Generate System Register tables..."
105+
$tblgen --printerLang=CCS --gen-searchable-tables -I "$llvm_root/llvm/include/" -I "$llvm_root/llvm/lib/Target/$llvm_target_dir/" "$llvm_root/llvm/lib/Target/$llvm_target_dir/$arch.td"
106+
sed -i "s/##ARCH##/$arch/g" __ARCH__GenCSSystemRegisterEnum.inc
107+
sed -i "s/##ARCH##/$arch/g" __ARCH__GenSystemRegister.inc
108+
cp __ARCH__GenCSSystemRegisterEnum.inc $arch"GenCSSystemRegisterEnum.inc"
109+
cp __ARCH__GenSystemRegister.inc $arch"GenSystemRegister.inc"
110+
fi
108111

109112
if find -- "../vendor/tree-sitter-cpp/" -prune -type d -empty | grep -q '^'; then
110113
echo "[*] Clone tree-sitter-cpp..."
@@ -132,7 +135,7 @@ cd $llvm_root
132135
llvm_release_tag=$(git describe --tag $llvm_release_commit)
133136
cd "$cs_root/suite/auto-sync/build"
134137

135-
cs_arch_dir="$cs_root/arch/$arch/"
138+
cs_arch_dir="$cs_root/arch/$llvm_target_dir/"
136139
cs_inc_dir="$cs_root/include/capstone"
137140

138141
into_arch_main_header=$arch"GenCSInsnEnum.inc "$arch"GenCSFeatureEnum.inc "$arch"GenCSRegEnum.inc "$arch"GenCSSystemRegisterEnum.inc"
@@ -143,7 +146,7 @@ for f in $into_arch_main_header; do
143146
../PatchMainHeader.py --header "$main_header" --inc "$f"
144147
done
145148

146-
for f in $(ls | grep "\.inc"); do
149+
for f in $(ls | grep "$arch.*\.inc"); do
147150
if ! echo $into_arch_main_header | grep -q -w $f ; then
148151
sed -i "s/LLVM-commit: <commit>/LLVM-commit: $llvm_release_commit/g" $f
149152
sed -i "s/LLVM-tag: <tag>/LLVM-tag: $llvm_release_tag/g" $f
@@ -168,7 +171,7 @@ done
168171
echo "[*] Apply patches to inc files"
169172

170173
cd $cs_root
171-
p_dir="$cs_root/suite/auto-sync/inc_patches"
174+
p_dir="$cs_root/suite/auto-sync/inc_patches/$arch"
172175
for f in $(ls $p_dir); do
173176
echo "[*] Apply $f"
174177
git apply "$p_dir/$f"

0 commit comments

Comments
 (0)