John,
splitting generated code up into multiple files that can be separately compiled, to check that the behavior remains the same when whole program optimization is used.
...
In GCC at least, the optimizations that fire are link time are the same ones that fire at module compilation time, so the opportunity for finding extra bugs isn't that huge. LLVM operates the same way. If a compiler had a totally separate whole-program mode, this would be more useful.
Doing this stuff at link time means there is a whole load of information available that is not known within a single module. This means the existing optimization have the potential to do a better job. So the new stuff csmith would be testing is the information gathering that happens at link time. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysis http://www.knosof.co.uk