5 ms·
the bug is hard to reproduce locally One of the things I like about LLVM is that it is written as passes. It's possible to stop after a pass and dump everythin
by CalChris 5y ago
the bug is hard to reproduce locally
One of the things I like about LLVM is that it is written as passes. It's possible to stop after a pass and dump everything to IR/GMIR text. It's also possible to start a pass with this text. This makes unit testing of passes possible.
GlobalISel is a rewrite of the instruction selection mechanism. I'm not sure what GlobalISel offers above monolithic SelectionDAG (well, it's faster) but it is much easier to test because it's broken into irtranslator, legalizer, regbankselect and instruction-select passes each of which can be unit tested independently.