I’m working on a project to reduce compile time of benchmark. With the help Linux profiler perf, I was able to find the hottest function in LLVM for my benchmark.

The function turned out to be ScalarEvolution::forgetTopMostLoop(). This function is called to clean up LLVM’s internal loop information after a loop is transformed. For example, LoopRotation changes the structure of the loop, so the loop info needs to be recomputed.

I decided to collect data on which loop’s info is being cleaned up from which Pass of the compiler. …

VS Code has a great feature to make remote development feel like local development, specially for file editing. It works pretty well for shell as long as your computer does not lose connection or go to sleep.

What’s the difference between editing a file vs a terminal session?
Editing a file is stateless. If the connection is lost, VSCode can reload (transfer) the file again.
A terminal session is somewhat has a state —
* current working directory
* history of commands
* environment variables
* long build commands
* command line lldb/cuda-gdb debugging

tmux, on the other hand, allows…

Compiler-Debugger-Profiler

C++ Developer. Worked on Windows, Linux & MacOS. CUDA development. LLVM Compiler development

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store