The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org. (by llvm)

Llvm-project Alternatives

Similar projects and alternatives to llvm-project

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better llvm-project alternative or higher similarity.

llvm-project reviews and mentions

Posts with mentions or reviews of llvm-project. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-08.
  • Can sanitizers find the two bugs I wrote in C++?
    10 projects | news.ycombinator.com | 8 Feb 2023
    > I don't have a copy of the standard at hand, can anyone quote the relevant section?

    The C++ (draft) standard is on GitHub! [0] Compiling it needs Perl and some LaTeX packages, but is reasonably straightforwards otherwise. In addition, links to specific draft standards can be found on cppreference [1].

    But anyways, in the first C++20 post-publication draft (N4868), the wording you're interested in is in multiple sections. Section 22.2.3 Sequence Containers [sequence.reqmts] has Table 78: Optional sequence container operations [tab:container.seq.opt] (starting on page 815), which states that a precondition of pop_back() is that empty() returns false. Section Detailed Specifications [structure.specifications] (page 481) states:

    > Preconditions: the conditions that the function assumes to hold whenever it is called; violation of any preconditions results in undefined behavior.

    Therefore, calling pop_back() on an empty vector results in undefined behavior.

    > Is this something that in practice is implemented in different (exception-throwing) ways?

    Based on a quick glance at the major implementations (libc++ 15.0.7 at [2], MSVC at [3], libstdc++ at [4]), it looks like asserts are used. Whether those result in exceptions probably depends on whether the asserts are compiled in in the first place and how they are implemented, but it's definitely not a guaranteed exception.

    [0]: https://github.com/cplusplus/draft

    [1]: https://en.cppreference.com/w/cpp/links

    [2]: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/lib...

    [3]: https://github.com/llvm/llvm-project/blob/8dfdcc7b7bf66834a7...

    [4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3...

  • The technology behind GitHub’s new code search
    17 projects | news.ycombinator.com | 6 Feb 2023
    This is exciting! I see a lot of familiar pieces here that propagated from Google's Code Search and I know few people from Code Search went to GitHub, probably specifically to work on this. I always wondered why GitHub didn't invest into a decent code searching features, but I'm happy it finally gets to the State of the Art one step at a time. Some of the folks going to GitHub to work on this I know are just incredible and I have no doubt GitHub's code search will be amazing.

    I also worked on something similar to the search engine that is described here for the purposes of making auto-complete fast for C++ in Clangd. That was my intern project back in 2018 and it was very successful in reducing the delays and latencies in the auto-complete pipeline. That project was a lot of fun and was also based on Russ Cox's original Google Code Search trigram index. My implementation of the index is still largely untouched and is a hot path of Clangd. I made a huge effort to document it as much as I can and the code is, I believe, very readable (although I'm obviously very biased because I spent a loot of time with it).

    Here is the implementation:


    I also wrote a... very long design document about how exactly this works, so if you're interested in understanding the internals of a code search engine, you can check it out:


  • Port it to the web with Web assembly and Emscripten
    6 projects | dev.to | 6 Feb 2023
    Emscripten is the most popular C/C++ toolchain to Wasm. Because it is based on LLVM, you can technically use it for a lot of other language like rust or D. It also convert some POSIX into the corresponding web APIs and it also convert OpenGL calls to WebGL!
  • What are some pros of developing a compiler in Common Lisp?
    2 projects | reddit.com/r/lisp | 2 Feb 2023
    Huh? Somewhere, when you read a file from the hard drive you will read it in an array, or call it a buffer, even in Lisp. On top of that you will interpret your data as some sort of structure, for example an AST as you mention. I have yet to see Lisp that reads in a text file into an AST naturally, without a parser that reads input and transforms it into an appropriate AST tree. Lisp is suited naturally to work with lists, which are good at representing trees and other linked structures. But you have to build those trees out of your "array" on your own. You can use a library, you don't have to write it on your own, but so you can with other languages too. I suggest taking a look at llwm, it is made exactly for the purpose of making compilers.
  • FYI: LLVM-project repo has exceeded GitHub upload size limit
    7 projects | news.ycombinator.com | 30 Jan 2023
    I cloned

        git clone https://github.com/llvm/llvm-project
  • How to avoid bounds checks in Rust (without unsafe!)
    5 projects | reddit.com/r/rust | 17 Jan 2023
    Here's my LLVM issue that could remove any perf impact of in-order indexing, leaving just a code-size impact: https://github.com/llvm/llvm-project/issues/55759
  • Should I abandon my monorepo?
    6 projects | reddit.com/r/rust | 5 Jan 2023
    Look on binutils+gdb or clang+llvm repos.
  • The KCL Programing Language for DevOps
    4 projects | reddit.com/r/devops | 28 Dec 2022
    High performance: High compile time and runtime performance using Rust & C and LLVM, and support compilation to native code and WASM.
  • Proof 7900XTX VR issues ARE due to a driver problem, not hardware (Linux v. Windows timing graphs)
    2 projects | reddit.com/r/Amd | 28 Dec 2022
    source=("llvm-project::git+https://github.com/llvm/llvm-project.git#tag=llvmorg-15.0.6" "llvm-config.h")
  • clang-format IntegerLiteralSeparator key
    2 projects | reddit.com/r/C_Programming | 26 Dec 2022
    According to https://github.com/llvm/llvm-project/commits/main/clang/lib/Format/Format.cpp it was introduced in https://github.com/llvm/llvm-project/commit/46c94e5067b5f396c24bb950505c79bc819bd4b8 but then quickly was reverted in https://github.com/llvm/llvm-project/commit/f0756e0860107262890d122cac909934563b1f5c because it introduced some problems.
  • A note from our sponsor - Sonar
    www.sonarsource.com | 8 Feb 2023
    Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work. Learn more →


Basic llvm-project repo stats
7 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives