gberry added a comment. I can give it a shot. The LICM case might be a false alarm, since I believe it will also check isSafeToSpeculativelyExecute before hoisting/sinking, which should return false for llvm.assume. http://reviews.llvm.org/D19676