Index: llvm/trunk/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp =================================================================== --- llvm/trunk/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp +++ llvm/trunk/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp @@ -92,9 +92,7 @@ AU.addRequired(); AU.addPreserved(); AU.addRequired(); - // FIXME: For some reason, preserving SE here breaks LSR (even if - // this pass changes nothing). - // AU.addPreserved(); + AU.addPreserved(); } bool runOnFunction(Function &F) override; Index: llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp =================================================================== --- llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp +++ llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp @@ -120,9 +120,7 @@ AU.addPreserved(); AU.addRequired(); AU.addRequired(); - // FIXME: For some reason, preserving SE here breaks LSR (even if - // this pass changes nothing). - // AU.addPreserved(); + AU.addPreserved(); AU.addRequired(); }