AlexDenisov

Talking to machines.
Compiler engineer, working on CodeQL by day, and on DragonRuby by night. LLVM, Mutation Testing.
lowlevelbits.orgdragonruby.org

AlexDenisovAlexDenisov
2025-05-29

Recently I had a chance to play with MLIR's Dataflow Analysis Framework.
I really love how it is implemented (that is, except of some overly optimistic defaults) and encourage anyone working with MLIR to get familiar with it.

I wrote a guide covering some of the concepts and highlighting some of the pitfalls to avoid.
Knowing this upfront would've saved me a few hours of debugging, I hope it will be helpful for you too 🙌

The missing guide to Dataflow Analysis in MLIR
lowlevelbits.com/p/the-missing

AlexDenisov boosted:
Hugo van Rijswijkhugovr
2025-05-09

Anyone know any cool European-based employers that are in open source?

AlexDenisovAlexDenisov
2025-05-02

Wrote a technical note on how to choose the right LLVM/MLIR distribution to build a compiler or a compiler-adjacent tool
lowlevelbits.com/p/different-w

A table summarizing the article contents
AlexDenisov boosted:
2025-04-08
AlexDenisovAlexDenisov
2025-04-01

Wrote a short technical note on building LLVM plugin using Bazel
lowlevelbits.com/p/building-ll

AlexDenisovAlexDenisov
2025-03-31

Started working on another blog post, I don't know if/when I'm going to finish it, but at least I crafted this nice image

Schematic view of a compilation pipeline from the source code through machine code and linking to the final executable
AlexDenisovAlexDenisov
2025-01-29

@vadorovsky I have very similar plans, see you there 🍻

AlexDenisovAlexDenisov
2025-01-10

Just booked my trip to fosdem.org/2025/, anyone coming to Brussels?

AlexDenisov boosted:
Emanuele Roccaema@fosstodon.org
2024-12-18

The story of an exciting (and long!) debugging session to figure out why GCC builds on Debian build servers were killing themselves: linux.it/~ema/posts/murder-mys #Debian #Debugging #gcc

AlexDenisovAlexDenisov
2024-12-17

Recently, landed my first non-trivial PyTorch PR which adds NVTX annotations for CUDA profiling during training, makes it easier to analyze profiles in a visual and automated way.
Should be available in the next version (2.6) 🥳

AlexDenisovAlexDenisov
2024-12-09

Recently we open sourced our minimalistic AOT Ruby compiler, the goal was to check if the idea behind the compilation makes sense from the performance perspective. It seems it does!
So I wrote a short article about the implementation details blog.llvm.org/posts/2024-12-03

AlexDenisovAlexDenisov
2024-11-29

Ordered a used book online, but received a totally wrong one.
Was about to issue return, but turns out this one was published in 1968, so it certainly stays with me ☺️

AlexDenisovAlexDenisov
2024-11-22

Recently I learned that @lefticus made a demo of Mull in the "Tool Spotlight" series: youtube.com/watch?v=lhcXAnNgzlo

Thank you so much, highly appreciated!

AlexDenisov boosted:
Alex Bradburyasb@fosstodon.org
2024-11-19

I've started a Bluesky starter pack of LLVM contributors/developers bsky.app/starter-pack/llvmweek - check it out and let me know if I'm missing you or anyone else!

AlexDenisovAlexDenisov
2024-03-07

I'm considering to moving/mirroring some articles from my blog to substack to see if it simplifies writing/publishing. So far looks good and it seems many people are using this platform actively

lowlevelbits.substack.com/p/ho

How to learn Compilers (LLVM Edition)
AlexDenisovAlexDenisov
2024-03-07

I should probably be using MLIR's dataflow framework and some proper algorithms, but I'll save that for another day

- Can we have escape analysis?
- We have escape analysis at home
class EscapeAnalysisAtHome {}
AlexDenisov boosted:
Brian Gesiakmodocache@types.pl
2024-02-09

Maybe an unpopular opinion, but I dislike the term "compiler people" or "compiler folks."

No doubt that compilers are interesting pieces of technology that people can study in great depth, but there have been times where I've been asked to gatekeep people based on whether they were a "compiler person." "Yes, they're a successful engineer working on a different team at our company," past managers would say, "but before we allow them to transfer to our team, could you suss out whether they're a 'compiler person?'" I found this ridiculous, because I don't consider myself to have a "compiler person" background, but those same managers treated me as if I were a "compiler person." It's just a biased idea of what kinds of experiences, interests, and demographics a person who works on compilers should have.

The other day I posted a job posting for my team, and someone asked me if I was "hiring compiler folks as well." So, presumably, my current position is not something for "compiler folks?" I guess I was part of the "in group" before (a bona fide "compiler person!"), but now I'm not, based on the fact that I work on a "programming language tooling" team -- "tooling" must be a bad word among "compiler folks."

This is an especially sore spot for me because, being located in New York and with no interest in moving, I've often struggled to find open positions related to compilers and programming languages. Sure, I could work on these if I moved to California, but not here. I've been lucky to find what I could. But, meanwhile, I guess I've telegraphed my "compiler personhood" online, to the point that Stanford interns ask me for mentorship on how to "get into compilers." If I only knew! Apparently, there's some secret club I (used to?) belong to, so maybe I should tell these people to figure out the membership criteria. A lot of them seem more like "compiler people" than I've ever felt, and they live in California, so, I've always felt pretty envious of their position.

AlexDenisovAlexDenisov
2023-12-22

As I'm wrapping up before the holidays, I wrote another article about compiling Ruby. This part is mostly about exceptions and how they work in Ruby
lowlevelbits.org/compiling-rub

AlexDenisovAlexDenisov
2023-11-30

Recently I finished implementing exception support for the Ruby compiler and now is a good time to share a short progress update lowlevelbits.org/compiling-rub

AlexDenisov boosted:
2023-11-15

The MLIR compiler tutorial series I've been writing is finally getting to some interesting math: this next article talks about how lattices are used to do dataflow analysis, and defines an integer linear program to solve a simplified version of a noise analysis problem common in FHE.

jeremykun.com/2023/11/15/mlir-

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst