Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

LLVM Compiler

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

The LLVM compiler infrastructure project is a set of compiler and toolchain technologies, which can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. Installation /Installation/ Main Components LLVM contains a list components Clang: Frontend for C language family LLVM Compiler/Clang Plugins Clang Plugins make it possible to run extra user defined actions during a compilation. compiler-rt: runtime libraries with builtins, sanitizer runtimes, profile, and Apple Blocks runtime interfaces. test-suite: https://github.com/llvm/llvm-test-suite OpenMP support see more at /OpenMP Support/ With the release of Clang 3.8.0, OpenMP 3.1 support is enabled in Clang by default, and the OpenMP runtime is therefore built as a normal part of the Clang build, and distributed with the binary distributions. You do not, therefore, need explicitly to check out this code, or build it out of tree; a normal Clang check out and build will automatically include building these runtime libraries. https://openmp.llvm.org/ cmake -G Ninja -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=$LLVM_PATH -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;openmp" -DCLANG_BUILD_EXAMPLES=1 $LLVM_SRC/llvm ninja install -j8 -l8 Development Support Code review of LLVM is handled by Phabricator https://reviews.llvm.org/. Regression tests are run by Buildbot http://lab.llvm.org:8011/ using test suite under https://github.com/llvm/llvm-test-suite . LLVM uses Buildbot to run some regression tests. Their website has JSON API: http://lab.llvm.org:8011/json/help Take the OpenMP testing’s API results as an example http://lab.llvm.org:8011/json/builders/openmp-gcc-x86_64-linux-debian/builds/7095 This get request will get a json file, with links to each step’s logs among other information. You check the log files from the links to see the command lines used. For example: here is the log file for the configuring step: http://lab.llvm.org:8011/builders/openmp-gcc-x86_64-linux-debian/builds/7095/steps/configure-openmp/logs/stdio Computer programming 25% __NOTOC__