Overview of TableGen
masterbackend for processing. Common use cases include LLVM Target-Independent Code Generation and Clang diagnostics/attributes.repository·master·Indexed 25 days ago
https://github.com/root-project/rootA comprehensive C++ framework for the storage, processing, and analysis of large-scale scientific data, widely used in high-energy physics. Version 0.1a14 includes support for JupyROOT (Jupyter integration), the Cling interpreter, CEF (Chromium Embedded Framework) web display, and specialized tools for unit testing via ROOT::TestSupport and memory analysis using Address Sanitizer.
backend for processing. Common use cases include LLVM Target-Independent Code Generation and Clang diagnostics/attributes.CivetWeb is a powerful, easy-to-use, C/C++ embeddable web server. It is designed to be used either as a library to add web server functionality to an existing application or as a standalone web server executable.
Key features include:
ROOT is a C++ based software package designed for scientific data storage, processing, and analysis. Key features include:
RDataFrame for high-performance analysis on multi-core and distributed systems.Cling C++ interpreter for rapid prototyping and type introspection.cppyy for efficient, on-demand C++/Python interoperability.RNTuple is the next-generation columnar data storage format for ROOT, designed to evolve from the legacy TTree. It provides more robust, type-safe interfaces using C++ templates and well-defined ownership via smart pointers.
Key improvements over TTree include:
mlgo-utils package provides Python infrastructure designed to enable Machine Learning (ML) applications within LLVM. Its primary purpose is to provide tooling for extracting corpora, which can then be used in downstream projects to train ML models and perform data-intensive tasks.SMatrix is a high-performance C++ package designed for vector and matrix computations where the dimensions are known at compile time. It utilizes C++ expression templates to optimize computations, producing code equivalent to hand-optimized low-level languages like FORTRAN or C.
Key features include:
ROOT::Math::MatRepSym storage class (storing only the $N*(N+1)/2$ independent elements).This directory provides three utilities for fuzzing Clang using libFuzzer with coverage-guided mutation. Each utility uses a different approach to structuring inputs:
clang-fuzzer: Generates unstructured inputs. It does not attempt to create valid C++ programs and is best for stressing surface layers like the lexer and parser.clang-objc-fuzzer: Similar to clang-fuzzer but targets Objective-C; it does not attempt to generate valid Objective-C programs.clang-proto-fuzzer: Uses a protobuf class to describe a subset of C++ and libprotobuf-mutator to produce valid C++ programs. This is more effective for stressing deeper layers of Clang and LLVM.LLVM testing is organized into three main categories:
llvm/unittests. Written using Google Test and Google Mock. They target the support library and generic data structures.llvm/test. Small pieces of code (often LLVM IR) that test specific features or reproduce bugs. These are driven by the lit tool.https://github.com/llvm/llvm-test-suite.git). These involve compiling and executing complete C/C++ programs to verify correctness and benchmark performance.XRay is a function call tracing system that allows for dynamic instrumentation. It works by combining compiler-inserted instrumentation points with a runtime library that can enable or disable tracing during execution.
An XRay-instrumented binary contains:
xray_instr_map: An ELF section containing entries that point to these instrumentation points, which the runtime library uses to overwrite them at runtime.