Add topic "LLVM" Accepted
The requested resource couldn't be found.
Changes: 5
-
Add Alive2: Bounded Translation Validation for LLVM
- Title
-
- Unchanged
- Alive2: Bounded Translation Validation for LLVM
- Type
-
- Unchanged
- Paper
- Created
-
- Unchanged
- 2021
- Description
-
- Unchanged
- We designed, implemented, and deployed Alive2: a bounded translation validation tool for the LLVM compiler’s intermediate representation (IR). It limits resource consumption by, for example, unrolling loops up to some bound, which means there are circumstances in which it misses bugs. Alive2 is designed to avoid false alarms, is fully automatic through the use of an SMT solver, and requires no changes to LLVM. By running Alive2 over LLVM’s unit test suite, we discovered and reported 47 new bugs, 28 of which have been fixed already. Moreover, our work has led to eight patches to the LLVM Language Reference—the definitive description of the semantics of its IR—and we have participated in numerous discussions with the goal of clarifying ambiguities and fixing errors in these semantics. Alive2 is open source and we also made it available on the web, where it has active users from the LLVM community.
- Link
-
- Unchanged
- https://www.cs.utah.edu/~regehr/alive2-pldi21.pdf
- Identifier
-
- Unchanged
- https://doi.org/10.1145/3453483.3454030
Resource | v1 | current (v1) -
Add LLVM
- Title
-
- Unchanged
- LLVM
- Description
-
- Unchanged
- 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. LLVM is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization. Originally implemented for C and C++, the language-agnostic design of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include ActionScript, Ada, C#, Common Lisp, Crystal, CUDA, D, Delphi, Dylan, Fortran, Graphical G, Halide, Haskell, Java bytecode, Julia, Kotlin, Lua, Objective-C, OpenCL, PostgreSQL's SQL and PLpgSQL, Ruby, Rust, Scala, Swift, XC, Xojo and Zig.
- Link
-
- Unchanged
- https://en.wikipedia.org/?curid=654611
Topic | v1 | current (v1) -
Add LLVM relates to Alive2: Bounded Translation Validation for LLVM
- Current
- relates to
Topic to resource relation | v1 -
Add C++ uses LLVM
- Current
- uses
Topic to topic relation | v1 -
Add Compiler e.g. LLVM
- Current
- e.g.
Topic to topic relation | v1