Ooops, don't forget to clear this. The real inner loop is now:
authorChris Lattner <sabre@nondot.org>
Sat, 13 Aug 2005 07:42:01 +0000 (07:42 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 13 Aug 2005 07:42:01 +0000 (07:42 +0000)
.LBB_foo_3:     ; no_exit.1
        lfd f2, 0(r9)
        lfd f3, 8(r9)
        fmul f4, f1, f2
        fmadd f4, f0, f3, f4
        stfd f4, 8(r9)
        fmul f3, f1, f3
        fmsub f2, f0, f2, f3
        stfd f2, 0(r9)
        addi r9, r9, 16
        addi r8, r8, 1
        cmpw cr0, r8, r4
        ble .LBB_foo_3  ; no_exit.1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22782 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopStrengthReduce.cpp

index 41d2134488da87d0a8300ee7f5ca791648a6a4eb..9143f56d4d7c26c94bd0c7e82127dd22d19f3ab1 100644 (file)
@@ -690,6 +690,7 @@ RemoveCommonExpressionsFromUseBases(std::vector<BasedUser> &Uses) {
       Uses[i].Base = Zero;
     else
       Uses[i].Base = SCEVAddExpr::get(SubExprs);
+    SubExprs.clear();
   }
  
   return Result;