Merge remote-tracking branch 'origin/7' into snapshot

This commit is contained in:
Sylvestre Ledru 2018-09-21 13:39:28 +02:00
commit 12453cceca

50
debian/qualify-clang.sh vendored Normal file → Executable file
View File

@ -178,7 +178,7 @@ echo 'int main() {
return a; return a;
} }
' > foo.c ' > foo.c
clang++-$VERSION -g -o bar foo.c clang-$VERSION -g -o bar foo.c
if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then
@ -279,6 +279,52 @@ g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-
foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc
./o > /dev/null ./o > /dev/null
if test ! -f /usr/lib/llvm-$VERSION/include/polly/LinkAllPasses.h; then
echo "Install libclang-common-$VERSION-dev for polly";
exit -1;
fi
# Polly
echo "
#define N 1536
float A[N][N];
float B[N][N];
float C[N][N];
void init_array()
{
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
A[i][j] = (1+(i*j)%1024)/2.0;
B[i][j] = (1+(i*j)%1024)/2.0;
}
}
}
int main()
{
int i, j, k;
double t_start, t_end;
init_array();
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
C[i][j] = 0;
for (k = 0; k < N; k++)
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
}
return 0;
}
" > foo.c
clang-$VERSION -O3 -mllvm -polly foo.c
clang-$VERSION -O3 -mllvm -polly -mllvm -polly-parallel -lgomp foo.c
clang-$VERSION -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine foo.c
clang-$VERSION -S -emit-llvm foo.c -o matmul.s
opt-$VERSION -S -polly-canonicalize matmul.s > matmul.preopt.ll > /dev/null
opt-$VERSION -basicaa -polly-ast -analyze -q matmul.preopt.ll -polly-process-unprofitable > /dev/null
echo "b main echo "b main
run run
bt bt
@ -359,6 +405,8 @@ mkdir cmaketest/foo/
rm -rf cmaketest rm -rf cmaketest
CLANG=clang-$VERSION CLANG=clang-$VERSION
#command -v "$CLANG" 1>/dev/null 2>/dev/null || { printf "Usage:\n%s CLANGEXE [ARGS]\n" "$0" 1>&2; exit 1; } #command -v "$CLANG" 1>/dev/null 2>/dev/null || { printf "Usage:\n%s CLANGEXE [ARGS]\n" "$0" 1>&2; exit 1; }
#shift #shift