But as people have noted, if you don&#x27;t have the hardware, it&#x27;s impossible to test that any changes actually work.<p>If we&#x27;re just talking about pure refactoring that doesn&#x27;t change any output, you could test that the generated machine code is identical. But then you have to ask, why isn&#x27;t there a stable API rather than all this refactoring churn?<p>I guess this is just the way LLVM and Clang are designed -- all components really tightly coupled together. And it&#x27;s a successful project so it must be working out for them. But...!