2011-10-14 11:31:40 -07:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# This script generates new definitions for the intrinsics using
|
|
|
|
# clang. This is not currently in the Makefile to avoid any dependency
|
|
|
|
# on clang.
|
|
|
|
|
|
|
|
for ARCH in i386 x86_64
|
|
|
|
do
|
2011-11-08 15:38:56 -08:00
|
|
|
if [ $ARCH = "i386" ]
|
|
|
|
then
|
|
|
|
BITS=32
|
|
|
|
else
|
|
|
|
BITS=64
|
|
|
|
fi
|
|
|
|
|
|
|
|
clang++ -emit-llvm -S -m$BITS -O3 -Isrc/rt/isaac -Isrc/rt/uthash \
|
2012-02-02 16:07:05 -08:00
|
|
|
-Isrc/rt/arch/$ARCH -Isrc/rt -fno-stack-protector \
|
2011-10-14 11:31:40 -07:00
|
|
|
-o src/rt/intrinsics/intrinsics.$ARCH.ll.in \
|
|
|
|
src/rt/intrinsics/intrinsics.cpp
|
2011-12-05 15:12:36 -08:00
|
|
|
sed -i .orig \
|
2011-10-14 11:31:40 -07:00
|
|
|
-e 's/^target datalayout =/; target datalayout =/' \
|
|
|
|
src/rt/intrinsics/intrinsics.$ARCH.ll.in
|
2011-12-05 15:12:36 -08:00
|
|
|
sed -i .orig \
|
2011-10-14 11:31:40 -07:00
|
|
|
-e 's/^target triple = "[^"]*"/target triple = "@CFG_TARGET_TRIPLE@"/' \
|
|
|
|
src/rt/intrinsics/intrinsics.$ARCH.ll.in
|
2011-12-05 15:12:36 -08:00
|
|
|
rm src/rt/intrinsics/intrinsics.$ARCH.ll.in.orig
|
|
|
|
done
|