diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..55ea9f804035825a7d0a013a654236058053eea9 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +patmos-llvm +=========== + +Port of LLVM to the Patmos architecture of the T-CREST project. diff --git a/README.patmos b/README.patmos new file mode 100644 index 0000000000000000000000000000000000000000..66bc95927e43cae544baf84c4661509297b552a1 --- /dev/null +++ b/README.patmos @@ -0,0 +1,109 @@ + + + LLVM FOR PATMOS + + +This is LLVM for Patmos, the time predictable processor of the T-CREST project. + +-------------------------------------------------------------------------------- +1. Requirements + + - Clang for Patmos + https://github.com/t-crest/patmos-clang + + Required to compile .c files to bitcode files (with the proper data layout + for Patmos). + + You need to checkout patmos-clang as tools/clang subdirectory of this + repository (symlinks will not work!) to build clang as part of the Patmos + toolchain. + + You can (currently) omit this step, if you only need to compile .ll or .bc + files. + + - cmake 2.8 or higher (optional for llvm and clang, required for compiler-rt) + + - graphviz (optional, for debugging) + + +For Debian or Ubuntu, you may need to install the following packages: + + cmake + g++ glibc-dev-i386 + texinfo + flex bison + libelf-dev + graphviz + +To build the simulator, you also need the following packages (version >= 1.46): + + libboost-dev, libboost-program-options-dev + + +-------------------------------------------------------------------------------- +2. Configure and build + +TODO - configure or cmake/cmake-gui + + mkdir ../patmos-llvm-obj + cd ../patmos-llvm-obj + ../patmos-llvm/configure --disable-optimized --enable-assertions + + + --enable-targets=host,patmos + + +-------------------------------------------------------------------------------- +3. Use it + +TODO - compile with llc and clang, install gold, newlib and compiler-rt first. + + + +Have fun! + + +-------------------------------------------------------------------------------- +Appendix - Additional Information +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +A) Patmos Backend Documentation + +For more information about the Patmos backend (ELF file format, assembler +syntax, ...) please refer to lib/Target/Patmos/README.txt. + + +-------------------------------------------------------------------------------- +B) Toolchain + +TODO - describe + + - pasim - Patmos Simulator + + - compiler-rt, and NewLib for Patmos + https://github.com/t-crest/patmos-compiler-rt + https://github.com/t-crest/patmos-newlib + + patmos-newlib and patmos-compiler-rt into separate directories, for libc and + runtime libraries + + - patmos-gold for the linker + https://github.com/t-crest/patmos-gold + + clang looks for patmos-gold in the PATH and the clang + install directory. To specify the linker executable to use for clang, set the + PATMOS_GOLD environment variable to the linker filename. + + +See the README files in the various repositories for information on how to build +them. + +TODO - complete list of all compile instructions (?) + + +-------------------------------------------------------------------------------- +C) Eclipse Setup + +TODO + diff --git a/README.txt b/README.txt index 7ae49f362eb0b01b6b49bf84b792594289cbeaa2..6bed7dad169829aaff0c563b1787841306007511 100644 --- a/README.txt +++ b/README.txt @@ -1,13 +1,11 @@ -Low Level Virtual Machine (LLVM) - Patmos Development Branch -============================================================ +Low Level Virtual Machine (LLVM) +================================ This directory and its subdirectories contain source code for the Low Level Virtual Machine, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments. -This repository contains the LLVM backend for the Patmos processor. - LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. @@ -17,23 +15,3 @@ assistance with LLVM. If you're writing a package for LLVM, see docs/Packaging.html for our suggestions. - -Toolchain ---------- - -For more information about the Patmos backend (ELF file format, ..), please refer to -lib/Target/Patmos/README.txt - -From the github.com/t-crest organization, you need to check out the following -additional repositories: - -- patmos-clang as tools/clang for the C frontend -- patmos-newlib and patmos-compiler-rt into separate directories, for libc and - runtime libraries -- patmos-gold for the linker; clang looks for patmos-gold in the PATH and the clang - install directory. To specify the linker executable to use for clang, set the - PATMOS_GOLD environment variable to the linker filename. - -See the README files in the various repositories for information on how to build -them. - diff --git a/TODO.Patmos b/TODO.patmos similarity index 100% rename from TODO.Patmos rename to TODO.patmos diff --git a/test/CodeGen/Patmos/.gitignore b/test/CodeGen/Patmos/.gitignore index 42532f99586f45fca691ae2d98693927f89dc082..b31cce1214d3820139189a294648ef29788326e6 100644 --- a/test/CodeGen/Patmos/.gitignore +++ b/test/CodeGen/Patmos/.gitignore @@ -1,4 +1,6 @@ *.dis +*.elf +*.log *.ll *.s *.o