There shouldn’t be any performance benefit, as clang/LLVM can do basic [loop invariant code motion](http://llvm.org/docs/Passes.html#licm-loop-invariant-code-motion) and [loop unswitching](http://llvm.org/docs/Passes.html#loop-unswitch-unswitch-loops).