jroweboy / llvm-test-suite

End-to-end test suite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LLVM-MOS End-to-End Test Suite

Given its very broad scope, it's likely that quite a bit of this test suite will never work on MOS. For example, it's unlikely that, say, an unaltered 7zip can be made to fit in 64KiB.

That being said, quite a bit of the SingleSource regression suite can fit, and as much of that as possible has been made to pass. The remaining exclusions are due to unsupported features or incorrect assumptions.

Please see the LLVM testing infrastructure guide:

https://llvm.org/docs/TestSuiteGuide.html

for more information on the contents of this repository.

Running the Tests

A SDK must be installed into the arbitrary prefix <install-prefix>. llvm-lit in the the llvm-mos project should also have been built.

Use CMake to configure the SingleSource directory for MOS:

$ mkdir build
$ cd build
$ cmake -DLLVM_MOS=<install-prefix> -C../cmake/caches/Os.cmake -C../cmake/caches/target-mos.cmake -G Ninja ..

To test 65C02, use this CMake line instead:

$ cmake -DTEST_SUITE_ARCH_FLAGS="-mcpu=mos65c02" -DTEST_SUITE_SUBDIRS=SingleSource/ -DTEST_SUITE_RUN_UNDER="<install-prefix>/bin/mos-sim --cmos" -C../cmake/caches/Os.cmake -C../cmake/caches/target-mos.cmake -G Ninja ..

A variety of options can be added via -DTEST_SUITE_ARCH_FLAGS= to test different modes of the compiler. Similarly, different optimization profiles can be selected using a different CMake cache file.

Next, compile the tests:

$ ninja

Finally, run the tests:

$ <llvm-mos-build-dir>/bin/llvm-lit -v .

About

End-to-end test suite

License:Other


Languages

Language:Logos 70.9%Language:RPC 23.4%Language:C 3.1%Language:C++ 1.1%Language:Fortran 1.1%Language:Awk 0.1%Language:CMake 0.0%Language:PostScript 0.0%Language:OpenEdge ABL 0.0%Language:Rich Text Format 0.0%Language:HTML 0.0%Language:Python 0.0%Language:Makefile 0.0%Language:Shell 0.0%Language:Perl 0.0%Language:TeX 0.0%Language:Yacc 0.0%Language:Emacs Lisp 0.0%Language:Lua 0.0%Language:Roff 0.0%Language:JavaScript 0.0%Language:Starlark 0.0%Language:Objective-C 0.0%Language:CSS 0.0%Language:POV-Ray SDL 0.0%Language:M4 0.0%Language:QMake 0.0%Language:Tcl 0.0%Language:R 0.0%Language:Limbo 0.0%Language:GAP 0.0%Language:Objective-C++ 0.0%Language:LLVM 0.0%Language:SCSS 0.0%Language:NASL 0.0%Language:Scheme 0.0%Language:Forth 0.0%Language:Pawn 0.0%Language:Batchfile 0.0%Language:Brainfuck 0.0%Language:Pascal 0.0%