Index: llvm/lib/Transforms/Scalar/LoopInterchange.cpp =================================================================== --- llvm/lib/Transforms/Scalar/LoopInterchange.cpp +++ llvm/lib/Transforms/Scalar/LoopInterchange.cpp @@ -120,7 +120,7 @@ std::vector Dep; Instruction *Src = cast(*I); Instruction *Dst = cast(*J); - if (Src == Dst) + if (I != J && Src == Dst) continue; // Ignore Input dependencies. if (isa(Src) && isa(Dst))