Lately I’ve been toying around with gcc to learn a bit better how its optimization phases work. Understanding Gimple, the intermediate representation used by gcc, is a useful skill for this. Of course actually *understanding* it is quite an ambitious and daunting task, so it may be a bit more useful to skim through it.

Turns out that using -fdump-tree-all and -fdump-rtl-all its possible to get a lot of interesting information on the phases the compiler follows to get your code optimized, but the sheer amount of information produced makes it rather hard to make sense out of it. During the next few posts (weeks? months? probably until I satisfy my curiosity about gcc) I will be investigating a little bit the output of the -fdump options in gcc, to see what can be learned from it.



Vim tip: Replacing builtin commands

If you spent a day writting a cool new version of the “tabnew” Vim command, you’ll probably want it to be the default command used to open new tabs. Right?

Luckily, there’s an easy way to replace built in commands with custom ones: cabbrev. cabbrev will do a textual replacement, so if you add “cabbrev tabnew TabNew” to your vimrc, eachtime you type “tabnew” it will be translated to TabNew.

Bonus tip: The command is actually, “abbrev”, not “cabbrev”. The “c” stands for command: it’s telling Vim that you want the abbrev command applied in command mode. You can also use it as “nabbrev” to have it applied in normal mode. “abbrev” it’s a nice way to correct common typos!

Public service announcement: searching your terminal’s output

Short tip today, but a life-changer one: you don’t need to copy&paste your terminal’s scrollback to search on it, you can do it in place. At least in terminator that’s possible (and I hear it’s also doable in Gnome’s default terminal application). Just press Ctrl+Shift+F. No more copy and pasting to vim!