gllvm
clangir
gllvm | clangir | |
---|---|---|
2 | 2 | |
283 | 280 | |
2.8% | 6.9% | |
4.3 | 10.0 | |
7 days ago | about 23 hours ago | |
Go | ||
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gllvm
-
Turns out GCC has imperative argument handling
I think this comment puts it nicely: https://github.com/SRI-CSL/gllvm/issues/48#issuecomment-8444...
But hang on, this is Linux where file extensions are basically just decoration. So if GCC now has special behaviour (and a different linker invocation) depending if the file is a source or an object file, does that mean GCC has to do content sniffing to figure out what the command is supposed to do?
clangir
-
Decoding C/C++ Compilation Process: From Source Code to Binary
It could be cool to see some explanation of CFG representations or GIMPLE/LLVM here. GCC/Clang can print those out as text, or just compile to that code and not go lower if you ask them to. There are some interesting things you can do with bytecode, like Rellic, AFL++, or optview2. It seems a bit reductive imo to go straight from high-level code to disassembly without at all examining any layers in between. Especially if we use something like Polygeist or CIR.
-
Compilers and IRS: LLVM IR, SPIR-V, and MLIR
I'm also curious, especially they seem to be gearing towards analysis as well.
https://github.com/llvm/clangir/blob/main/clang/lib/CIR/Dial...
What are some alternatives?
vast - VAST is an experimental compiler pipeline designed for program analysis of C and C++. It provides a tower of IRs as MLIR dialects to choose the best fit representations for a program analysis or further program abstraction.
Polygeist - C/C++ frontend for MLIR. Also features polyhedral optimizations, parallel optimizations, and more!
optview2 - User-oriented fork of LLVM's opt-viewer
demangle-mode - Emacs minor mode that automatically demangles C++, D, and Rust symbols
checkedc-llvm-project - This repo contains a version of clang that is modified to support Checked C. Checked C is an extension to C that lets programmers write C code with bounds checking and improved type-safety.
codegena - Codegeneration tool
AFLplusplus - The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!