selfie
flang
selfie | flang | |
---|---|---|
21 | 4 | |
2,349 | 779 | |
0.5% | 0.9% | |
9.7 | 7.1 | |
2 days ago | 14 days ago | |
Jupyter Notebook | C | |
BSD 2-clause "Simplified" 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.
selfie
- A tiny hand crafted CPU emulator, C compiler, and Operating System
-
Project Oberon the Design of an Operating System, a Compiler, and a Computer Pdf
this sort of exists at https://github.com/cksystemsteaching/selfie
> Selfie is a self-contained 64-bit, 12KLOC C implementation of: (...) a tiny (...) subset of C called C Star (C) (...) to a tiny (...) subset of RISC-V called RISC-U[;] a[n] (...) emulator (...) that executes RISC-U code[;] (...) a (...) hypervisor (...) that provides RISC-U virtual machines*
so they have an instruction set architecture, a compiler, and an operating system, though it's much simpler than xv6. because the instruction set is a subset of risc-v you can run its code on actual risc-v hardware (or qemu-system-riscv), but presumably you could also design risc-u hardware in verilog that was simpler than a full implementation of rv64i with whatever extensions the hypervisor needs
- Best book on writing an optimizing compiler (inlining, types, abstract interpretation)?
- Selfie: An educational platform for teaching systems engineering
- An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor.
- Selfie: An Educational Platform For Teaching Systems Engineering
flang
-
Supporting BFLOAT16 in ISO_Fortran_env: not recommended
It is great to know that LLVM Flang supports BFLOAT16!
I look forward to trying it in my project ( http://www.libprima.net ), although LLVM Flang is not ready to use last time I tried.
As a side note, the Classic Flang ( https://github.com/flang-compiler/flang ) does not support kind = 3.
-
Best book on writing an optimizing compiler (inlining, types, abstract interpretation)?
I think a lot of this material is in research papers and code. Take a look a MLTon or Clang Fortran
- Any updates on Flang?
-
Accidentally quadratic: When Python is faster than C++
I feel like the would have to, if they were to produce a remotely competitive compiler. That's why I'm hoping NVidia's Flang[1] efforts will lead to this aspect of LLVM being cleaned up.
[1]: https://github.com/flang-compiler/flang
What are some alternatives?
oscam-patched - Open Source Cam Emulator
rapidyaml - Rapid YAML - a library to parse and emit YAML, and do it fast.
coollang-2020-fs - Compiler of a small Scala subset
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
perseus - A state-driven web development framework for Rust with full support for server-side rendering and static generation.
ctl - The C Template Library
scamp-cpu - A homebrew 16-bit CPU with a homebrew Unix-like-ish operating system.
Full-Stack-Fortran - Fortran to WebAssembly
shecc - A self-hosting and educational C optimizing compiler
dmd - dmd D Programming Language compiler
the_ray_tracer_challenge_in_rust - Repository to follow my development of "The Raytracer Challenge" book by Jamis Buck in the language Rust
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.