aboutsummaryrefslogtreecommitdiffstats
path: root/test/abi
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2022-01-05 15:22:22 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2022-01-05 15:22:22 +0100
commit1c264a258be01623b8936657a32f2251ca2059c1 (patch)
treea6c707ef97373ca91b0f476fd3b9ab1ee47fb073 /test/abi
parent89562c917e61c56a167ba13b86021b286cb7e257 (diff)
downloadcompcert-kvx-1c264a258be01623b8936657a32f2251ca2059c1.tar.gz
compcert-kvx-1c264a258be01623b8936657a32f2251ca2059c1.zip
ccomp profiling
Diffstat (limited to 'test/abi')
-rw-r--r--test/abi/Makefile29
1 files changed, 14 insertions, 15 deletions
diff --git a/test/abi/Makefile b/test/abi/Makefile
index ef354e06..ee00d4de 100644
--- a/test/abi/Makefile
+++ b/test/abi/Makefile
@@ -1,7 +1,7 @@
include ../../Makefile.config
CCOMP=../../ccomp -stdlib ../../runtime
-CCOMPFLAGS=
+CCOMPFLAGS=-fstruct-passing
CFLAGS=-O -Wno-overflow -Wno-constant-conversion
TESTS=fixed.compcert fixed.cc2compcert fixed.compcert2cc \
@@ -17,18 +17,6 @@ all_s: fixed_def_compcert.s fixed_use_compcert.s \
vararg_def_compcert.s vararg_use_compcert.s \
struct_def_compcert.s struct_use_compcert.s
-test:
- @set -e; for t in $(TESTS); do \
- SIMU='$(SIMU)' ARCH=$(ARCH) MODEL=$(MODEL) ABI=$(ABI) SYSTEM=$(SYSTEM) ./Runtest $$t; \
- done
- @set -e; for t in layout staticlayout; do \
- $(SIMU) ./$$t.compcert > _compcert.log; \
- $(SIMU) ./$$t.cc > _cc.log; \
- if diff -a -u _cc.log _compcert.log; \
- then echo "$$t: CompCert and $CC agree"; rm _*.log; \
- else echo "$$t: CompCert and $CC DISAGREE"; exit 2; fi; \
- done
-
generator.exe: generator.ml
ocamlopt -g -o $@ generator.ml
@@ -72,7 +60,7 @@ endif
layout.h: genlayout.exe
./genlayout.exe $(GENLAYOUT_OPTIONS) > layout.h
-struct%.o: CCOMPFLAGS += -fstruct-passing -dclight
+struct%.o: CCOMPFLAGS +=-dclight
%_compcert.o: %.c
$(CCOMP) $(CCOMPFLAGS) -c -o $@ $*.c
@@ -80,7 +68,7 @@ struct%.o: CCOMPFLAGS += -fstruct-passing -dclight
$(CC) $(CFLAGS) -c -o $@ $*.c
%_compcert.s: %.c
- $(CCOMP) -S -o $@ $*.c
+ $(CCOMP) $(CCOMPFLAGS) -S -o $@ $*.c
%_cc.s: %.c
$(CC) $(CFLAGS) -S -o $@ $*.c
@@ -109,3 +97,14 @@ staticlayout.cc: staticlayout.c layout.h
clean::
rm -f *.[os] *.compcert *.cc2compcert *.compcert2cc *.light.c
+test:
+ @set -e; for t in $(TESTS); do \
+ SIMU='$(SIMU)' ARCH=$(ARCH) MODEL=$(MODEL) ABI=$(ABI) SYSTEM=$(SYSTEM) ./Runtest $$t; \
+ done
+ @set -e; for t in layout staticlayout; do \
+ $(SIMU) ./$$t.compcert > _compcert.log; \
+ $(SIMU) ./$$t.cc > _cc.log; \
+ if diff -a -u _cc.log _compcert.log; \
+ then echo "$$t: CompCert and $CC agree"; rm _*.log; \
+ else echo "$$t: CompCert and $CC DISAGREE"; exit 2; fi; \
+ done