A really neat idea for LLVM: AST interpreters are slow, so clang's constexpr evaluator is slow. Write a small bytecode interpreter to make constexpr execution scale better!
https://lists.llvm.org/pipermail/cfe-dev/2019-July/062799.html
Related Posts
It's really satisfying to use a profiler for the first time on a project. I always find a big performance win with only a small code change.
It's never the code that I expected to be slow, however!
Bril is a cute intermediate language for teaching (think simplified LLVM IR): https://www.cs.cornell.edu/~asampson/blog/bril.html
The idea of providing a standard JSON format to help students write basic passes is really elegant.
I'm implementing an interpreter, and wondering how often I should check for interruptions (e.g. Ctrl-C).
I don't want to spend too much CPU time checking whether I've been interrupted, but I also want slow programs to stop promptly. It's tricky.