please review - llvm test-suite patch

Reed Kotler rkotler at mips.com
Sat Jun 15 08:27:00 PDT 2013


Ping...

On 06/08/2013 10:47 PM, reed kotler wrote:
> This patch is to allow areas in SingleSource and MultiSource for Mips
> specific tests to be added to UnitTests in those areas.
>
> Some example tests are included in the patch.
>
> I have tested with x86 and Mips test suites and for Mips with lnt.
>
> Am rerunning all tests this weekend.
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits-Tmj1lob9twqVc3sceRu5cw at public.gmane.org
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>

-------------- next part --------------
diff --git a/MultiSource/Makefile b/MultiSource/Makefile
index 7641628..8680601 100644
--- a/MultiSource/Makefile
+++ b/MultiSource/Makefile
@@ -2,4 +2,10 @@
 
 LEVEL = ..
 PARALLEL_DIRS  := Applications Benchmarks
+# For now only Mips uses UnitTests
+ifeq ($(ARCH),Mips)
+PARALLEL_DIRS += UnitTests
+endif
+
 include $(LEVEL)/Makefile.programs
+
diff --git a/MultiSource/UnitTests/Makefile b/MultiSource/UnitTests/Makefile
new file mode 100644
index 0000000..d5f219f
--- /dev/null
+++ b/MultiSource/UnitTests/Makefile
@@ -0,0 +1,13 @@
+# MultiSource/UnitTests Makefile:  Build all subdirectories automatically
+
+LEVEL = ../..
+
+PARALLEL_DIRS =
+
+# Add special tests for Mips
+ifeq ($(ARCH),Mips)
+PARALLEL_DIRS += Mips
+endif
+
+include $(LEVEL)/Makefile.config
+include $(LEVEL)/Makefile.programs
diff --git a/MultiSource/UnitTests/Mips/Makefile b/MultiSource/UnitTests/Mips/Makefile
new file mode 100644
index 0000000..f52f860
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Makefile
@@ -0,0 +1,13 @@
+# MultiSource/UnitTests/Mips Makefile:  Build all subdirectories automatically
+
+LEVEL = ../../..
+
+PARALLEL_DIRS :=
+
+# Add special tests for Mips
+ifneq (,$(findstring mips16,$(MIPSARCH)))
+PARALLEL_DIRS += Mips16
+endif
+
+include $(LEVEL)/Makefile.config
+include $(LEVEL)/Makefile.programs
diff --git a/MultiSource/UnitTests/Mips/Mips16/Makefile b/MultiSource/UnitTests/Mips/Mips16/Makefile
new file mode 100644
index 0000000..811bc04
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/Makefile
@@ -0,0 +1,6 @@
+LEVEL = ../../../..
+
+PARALLEL_DIRS += multitest fp16_32_1
+
+
+include $(LEVEL)/Makefile.programs
diff --git a/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/Makefile b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/Makefile
new file mode 100644
index 0000000..7733805
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/Makefile
@@ -0,0 +1,5 @@
+LEVEL = ../../../../..
+PROG = fp16_32_1
+CPPFLAGS = 
+LDFLAGS =
+include ../../../../Makefile.multisrc
\ No newline at end of file
diff --git a/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_1.c b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_1.c
new file mode 100644
index 0000000..fcb6151
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_1.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+extern void foo32(float x);
+
+int __attribute__((mips16)) main() {
+  foo32(4.5678);
+  printf("main  \n");
+  return 0;
+}
diff --git a/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_32_1.reference_output b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_32_1.reference_output
new file mode 100644
index 0000000..105a44e
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp16_32_1.reference_output
@@ -0,0 +1,3 @@
+in foo32: 4.567800 
+main  
+exit 0
diff --git a/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp32_1.c b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp32_1.c
new file mode 100644
index 0000000..3af70a0
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/fp16_32_1/fp32_1.c
@@ -0,0 +1,4 @@
+#include <stdio.h>
+void __attribute__((nomips16)) foo32(float x) {
+  printf("in foo32: %f \n", x);
+}
diff --git a/MultiSource/UnitTests/Mips/Mips16/multitest/Makefile b/MultiSource/UnitTests/Mips/Mips16/multitest/Makefile
new file mode 100644
index 0000000..92f975f
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/multitest/Makefile
@@ -0,0 +1,5 @@
+LEVEL = ../../../../..
+PROG = multitest
+CPPFLAGS = 
+LDFLAGS =
+include ../../../../Makefile.multisrc
\ No newline at end of file
diff --git a/MultiSource/UnitTests/Mips/Mips16/multitest/do_print.c b/MultiSource/UnitTests/Mips/Mips16/multitest/do_print.c
new file mode 100644
index 0000000..fe4e38d
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/multitest/do_print.c
@@ -0,0 +1,4 @@
+#include <stdio.h>
+void do_print() {
+  printf("do print called\n");
+}
diff --git a/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.c b/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.c
new file mode 100644
index 0000000..0aff360
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.c
@@ -0,0 +1,6 @@
+extern void do_print();
+
+int main() {
+  do_print();
+  return 0;
+}
diff --git a/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.reference_output b/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.reference_output
new file mode 100644
index 0000000..0312115
--- /dev/null
+++ b/MultiSource/UnitTests/Mips/Mips16/multitest/multitest.reference_output
@@ -0,0 +1,2 @@
+do print called
+exit 0
diff --git a/SingleSource/UnitTests/Makefile b/SingleSource/UnitTests/Makefile
index 0276495..3e279c1 100644
--- a/SingleSource/UnitTests/Makefile
+++ b/SingleSource/UnitTests/Makefile
@@ -33,5 +33,10 @@ ifneq ($(ARCH),x86_64)
 PROGRAMS_TO_SKIP += ms_struct-bitfield-init-1 ms_struct-bitfield-init ms_struct-bitfield ms_struct_pack_layout-1 ms_struct_pack_layout ms_struct-bitfield-1
 endif
 
+# Add special tests for Mips
+ifeq ($(ARCH),Mips)
+DIRS += Mips
+endif
+
 LDFLAGS += -lstdc++
 include $(LEVEL)/SingleSource/Makefile.singlesrc
diff --git a/SingleSource/UnitTests/Mips/Makefile b/SingleSource/UnitTests/Mips/Makefile
new file mode 100644
index 0000000..1a332a6
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Makefile
@@ -0,0 +1,9 @@
+# SingleSource/UnitTests/Mips/Makefile
+LEVEL = ../../..
+
+ifneq (,$(findstring mips16,$(MIPSARCH)))
+PARALLEL_DIRS += Mips16
+endif
+
+include $(LEVEL)/SingleSource/Makefile.singlesrc
+
diff --git a/SingleSource/UnitTests/Mips/Mips16/Makefile b/SingleSource/UnitTests/Mips/Mips16/Makefile
new file mode 100644
index 0000000..1b3cb9b
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Mips16/Makefile
@@ -0,0 +1,8 @@
+# SingleSource/UnitTests/Mips/Mips16/Makefile
+
+DIRS = 
+LEVEL = ../../../..
+
+
+include $(LEVEL)/SingleSource/Makefile.singlesrc
+
diff --git a/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.c b/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.c
new file mode 100644
index 0000000..792fa48
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void __attribute__((mips16)) foo (void) {
+  printf("in foo: mips16\n");
+}
+void __attribute__((nomips16)) nofoo (void) {
+  printf("in foo: mips32\n");
+}
+
+int __attribute__((mips16)) main() {
+  foo();
+  nofoo();
+  printf("in main: mips16\n");
+}
+
+
diff --git a/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.reference_output b/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.reference_output
new file mode 100644
index 0000000..acfb626
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Mips16/mips16_32_4.reference_output
@@ -0,0 +1,4 @@
+in foo: mips16
+in foo: mips32
+in main: mips16
+exit 0
diff --git a/SingleSource/UnitTests/Mips/Mips16/test_makefile.c b/SingleSource/UnitTests/Mips/Mips16/test_makefile.c
new file mode 100644
index 0000000..a2e2297
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Mips16/test_makefile.c
@@ -0,0 +1,4 @@
+int main() {
+  return 0;
+}
+
diff --git a/SingleSource/UnitTests/Mips/Mips16/test_makefile.reference_output b/SingleSource/UnitTests/Mips/Mips16/test_makefile.reference_output
new file mode 100644
index 0000000..ca916d0
--- /dev/null
+++ b/SingleSource/UnitTests/Mips/Mips16/test_makefile.reference_output
@@ -0,0 +1 @@
+exit 0


More information about the llvm-commits mailing list