https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70159
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note this is both a hoisting and a sinking issue. Hoisting should happen before sinking. LLVM looks like it only implements sinking.