Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    N

    Nicolai Hähnle

    nhaehnle.blogspot.com · Personal blog · on HN since 2018

    Nicolai Hähnle, a compiler engineer working on LLVM and AMD GPU tooling, writes about code review, IR design and building HIP.

    Visit blogHN submissions
    Languages & CompilersProgramming
    What HN says

    Commenters respect him as 'one of our best'; HN links his posts on patch-series code review, LLVM dialects and setting up HIP.

    Stats for nerds
    15HN people shared it
    14linked in comments
    24story points
    Feb 2024last shared
    2020people per year2024

    Top posts on HN

    1. 1
      Can memcpy be implemented in LLVM IR?
      2 people · 7 points · first shared 2021 · Discussion on HN
    2. 2
      Can memcpy be implemented in LLVM IR?
      2 people · 5 points · first shared 2021 · Discussion on HN
    3. 3
      Thoughts on code reviews and the power of patch series
      4 people · 3 points · first shared 2020 · Discussion on HN
    4. 4
      Software testing, and why I'm unhappy about it
      2 people · 3 points · first shared 2023 · 1 comments on HN
    5. 5
      Diff modulo base, a CLI tool to assist with incremental code reviews
      2 people · 2 points · first shared 2023 · Discussion on HN
    6. 6
      An Update on Dialects in LLVM
      1 person · 2 points · first shared 2023 · Discussion on HN
    7. 7
      Building a HIP Environment from Scratch
      2 people · 1 points · first shared 2024 · Discussion on HN
    8. 8
      They want to be Thoughts on code reviews and the power of patch series
      1 person · 1 points · first shared 2021 · Discussion on HN
    9. 9
      Tablegen 2 functional programming
      1 person · first shared 2023
    10. 10
      Tablegen 1 what has tablegen ever done
      1 person · first shared 2023

    What HN people wrote when they linked it

    • ozinenkoFeb 2020

      (Early disclaimer: I am an author of the paper and of MLIR, but this is a personal opinion)

      I am somehow surprised by the reaction but at the same time I expected as much. We chose to make MLIR open-source early in the design and development, may be half a year after the first line was written, because we value open source and believe that a community can help build significantly better things that serve a broader audience. I find it unreasonable to expect a new infrastructure to have the same amount of frontends/optimizers/backends/utilities/bells-and-whistles as a project that has been around for 17 years and has got contributions from hundreds of developers employed by dozens of companies. 15 years ago, LLVM only had a fraction of what it has today... By making MLIR open from the start, we let everybody add the whistles they need, or collaborate on them with other people who also need them. That is sort of the point of open source community. Personally, I am happy to work with anybody who shares my needs, but I won't do somebody else's job instead of them. In a sense, MLIR does not intend to solve any specific compiler problem, but rather give people tools that help them focus on the problem at hand instead of IR infrastructure, storage, serialization etc.

      The alternative would have been to develop it internally for a long time, driven exclusively by the internal needs, and then just throw it over the fence into public. It would have had significantly more "features". I…

    • matt_dDec 2023

      FWIW, its use has grown over time, with new applications most significantly including MLIR (Multi-Level IR compiler framework, which allows you to define your own intermediate representations as well as compiler passes operating on them), https://mlir.llvm.org/docs/DefiningDialects/Operations/

      The docs have been improving, https://llvm.org/docs/TableGen/

      I also like these resources:

      Lessons in TableGen
      FOSDEM 2019; Nicolai Hähnle
      https://fosdem.org/2019/schedule/event/llvm_tablegen/

      - What has TableGen ever done for us?, http://nhaehnle.blogspot.com/2018/02/tablegen-1-what-has-tablegen-ever-done.html
      - Functional Programming, http://nhaehnle.blogspot.com/2018/02/tablegen-2-functional-programming.html
      - Bits, http://nhaehnle.blogspot.com/2018/02/tablegen-3-bits.html
      - Resolving variables, http://nhaehnle.blogspot.com/2018/03/tablegen-4-resolving-variables.html
      - DAGs, http://nhaehnle.blogspot.com/2018/03/tablegen-5-dags.html

    • JonChesterfieldFeb 2024

      Hähnle is one of our best, that'll be solid. http://nhaehnle.blogspot.com/2024/02/building-hip-environment-from-scratch.html. Looks pretty similar to how I build it.

      Side point, there's a driver in your linux kernel already that'll probably work. The driver that ships with rocm is a newer version of the same and might be worth building via dkms.

      Very strange that the rocm github doesn't have build scripts but whatever, I've been trying to get people to publish those for almost five years now and it just doesn't seem to be feasible.

    • nhaehnleJun 2021

      My understanding is that they're not necessarily asking for the commits to be squashed, they're asking for them to be submitted together as a patch series.

      Patch series are an important part of a healthy review workflow because they allow both a micro and a macro view of changes. I have written about this before: http://nhaehnle.blogspot.com/2020/06/they-want-to-be-small-they-want-to-be.html

    Related

    cor3ntincor3ntin.github.io32 people

    The Problem with C (2020)

    cor3ntin
    Personal · last shared 2026
    Evan Ovadiaverdagon.dev60 people

    Borrow Checking, RC, GC, and the Eleven () Other Memory Safety Approaches

    Evan Ovadia
    Personal · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    LLVM Blogblog.llvm.org226 people

    Clang Is Now Used to Build Chrome for Windows

    LLVM Blog
    Company · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    Justine Tunneyjustine.lol251 people

    Show HN: Redbean – Single-file distributable web server

    Justine Tunney
    Personal · last shared 2026
    SIGPLAN Blogblog.sigplan.org61 people

    My First Fifteen Compilers

    SIGPLAN Blog
    Publication · last shared 2026