Illuminating the processor core with LLVM-mca
#HackerNews #LLVM-mca #ProcessorCore #Illumination #Technology #HackerNews #Abseil
Java Hello World, LLVM Edition
https://www.javaadvent.com/2025/12/java-hello-world-llvm-edition.html
#HackerNews #Java #Hello #World #LLVM #Edition #Java #LLVM #Programming #Languages #Tech #News
I made another fun LLVM fix
https://github.com/llvm/llvm-project/pull/169591
Making these changes is hard but the reviewers have been extremely helpful in polishing the implementation.
Fixing small missed optimizations like this is useful for rust because it allows e.g. miri to handle more SIMD code automatically.
LLVM-MOS – Clang LLVM fork targeting the 6502
https://llvm-mos.org/wiki/Welcome
#HackerNews #LLVM-MOS #Clang #LLVM #6502 #RetroProgramming #CompilerDevelopment
I made another fun LLVM fix
https://github.com/llvm/llvm-project/pull/169591
Making these changes is hard but the reviewers have been extremely helpful in polishing the implementation.
Fixing small missed optimizations like this is useful for rust because it allows e.g. miri to handle more SIMD code automatically.
FYI: LLVM vs .NET: Why Choose LLVM? #shorts: LLVM boasts significant industry and community support. It’s older than .NET, with backing and resources. LLVM offers versatility across platforms, empowering developers while requiring careful memory management. #LLVM #dotNET #compiler #technology #programming https://www.youtube.com/shorts/fwfBJivpZSE
We (SCI Semiconductor) are about to hire some folks in the next couple of months (probably starting in January, since we're about to hit Christmas):
We're aiming to hire 1-3 FAEs, who can build out the open-source bits of the #CHERIoT software stack (including drivers / various communication stacks), build demos, and work with customers on use-case bringup.
We also want to hire someone else on the toolchain side. Primarily #LLDB + #OpenOCD, but also working with our #LLVM (and #RustC) folks.
Let me know if you're interested!
EDIT: We are a full-remote company. It's easiest for us to hire people in the UK (and one of our investors would really like us to hire more people in Sheffield), but elsewhere is possible (though might, for tax purposes, require you to be officially a contractor for a while).
We're also going to be hiring people for our hardware verification and RTL teams soon (more on the verification side than design at the moment, I think). I'm not responsible for them, but I can find out more details if anyone is interested. Our first CHERIoT chip is nearly finished, we're starting to work on the second.
EDIT 2: Thanks to all of the people who have expressed interest (in public and private posts). I'll try to get back to you all next week!
EDIT 3: I hope I've replied to everyone now! If I missed you (there were more replies than I expected!) please let me know. I think we'll aim to do another hiring round over the summer next year, so if the current timeline doesn't work out for you, please still let me know and I'll keep you in mind next time!
The #Linux #kernel authorities are currently discussing whether to enable support for Microsoft C (MSVC) language extensions. Sounds like heresy? It turns out, this is about the growing importance of the #Clang compiler. The patches under review do not aim to compile Linux with Microsoft’s cl.exe compiler. Instead, they enable the kernel to take advantage of Clang’s ability to operate in a Microsoft-compatible dialect. Why would Linus Torvalds want that?
1/3
Optimizing Rust code is really fun. When something is run millions or billions of times, nanoseconds and individual CPU instructions matter. The best way to do this isn't to write assembly -- it's to put yourself in LLVM's place, understand the kinds of optimizations it wants to perform, and understand what is blocking them. A common case I run into is "LLVM wants to represent (a, b) as (a + b, b), but it's part of a struct so the change has to be performed every time the struct is loaded." LLVM can't change the struct, obviously...
Has anybody tried teaching LLVM data structure optimization? Along the lines of: "Here's a struct with a completely undefined layout and representation, and every single function that can access the struct. Based on the uses, try to memoize common computations by adding new fields, and try removing unused fields." Getting there requires locating all uses of the fields of a struct, but this is possible (at least, quite often) in Rust.
Optimizing Rust code is really fun. When something is run millions or billions of times, nanoseconds and individual CPU instructions matter. The best way to do this isn't to write assembly -- it's to put yourself in LLVM's place, understand the kinds of optimizations it wants to perform, and understand what is blocking them. A common case I run into is "LLVM wants to represent (a, b) as (a + b, b), but it's part of a struct so the change has to be performed every time the struct is loaded." LLVM can't change the struct, obviously...
Has anybody tried teaching LLVM data structure optimization? Along the lines of: "Here's a struct with a completely undefined layout and representation, and every single function that can access the struct. Based on the uses, try to memoize common computations by adding new fields, and try removing unused fields." Getting there requires locating all uses of the fields of a struct, but this is possible (at least, quite often) in Rust.
i feel like if you have an entire support matrix predicated on whether your fucked up build process can build your fucked up fork maybe it's time to reconsider your priorities. like why are you owning that internal build in the first place? i need to make sure i've got this right
like come on
# Indicates whether the LLVM testsuite is enabled in the build or not. Does
# not execute the tests as part of the build as part of x.py build et al,
# just makes it possible to do `ninja check-llvm` in the staged LLVM build
# directory when doing LLVM development as part of Rust development.
#llvm.tests = false
did no one question "hey why do we need to set these things here in the first place if it doesn't matter and we can just delegate to llvm's existing build system?"? idk
👀 Wow, hold your horses! Zig builds are apparently breaking the sound barrier now. 🚀 After years of intense labor and a bit of #LLVM yeeting, they've achieved the unimaginable: a #compiler that might finally compile something before your coffee goes cold. ☕️🔥
https://mitchellh.com/writing/zig-builds-getting-faster #ZigLang #SoundBarrier #FastCompilation #HackerNews #ngated
This is not helping me in the market but what I love doing the most is computer language engineering. I'm learning how to write an #LSP right now to support my born language in neovim. I also discovered #LLVM recently. It lets you compile to any target from a generic ASM. It made me realize something. The first languages where all compiled. Then, we got the interpreted languages. But recently, the new languages are all compiled again! Think of #rust, #go, #zig, #elixir. I wonder if it's because we perfected the tooling in a way that maintaining a compiled language is not that hard anymore. Go is a weird one. It has a garbage collector. Yeah! A compiled language with a garbage collector. It means that there is a process that is embedded in the executable to just do garbage collection. We might now have a real reason anymore to interpret.
My team at Apple is currently hiring for a role that focuses on compiler tools and infrastructure. If you’re interested in this opportunity, please take a look at the job posting here: https://jobs.apple.com/en-us/details/200613714/compiler-tools-engineer?team=SFTWR #llvm #swiftlang
My team at Apple is currently hiring for a role that focuses on compiler tools and infrastructure. If you’re interested in this opportunity, please take a look at the job posting here: https://jobs.apple.com/en-us/details/200613714/compiler-tools-engineer?team=SFTWR #llvm #swiftlang
TPDE Compiler Back-End Framework
https://arxiv.org/abs/2505.22610
"TPDE-LLVM: a standalone back-end for LLVM-IR, which compiles 10--20x faster than LLVM -O0 with similar code quality, usable as library (e.g., for JIT), as tool (tpde-llc), and integrated in Clang/Flang (with a patch)."
Holy cow! 🤯
Open Source on GitHub:
https://github.com/tpde2/tpde