add a FIXME so we remember to eventually remove this code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50582 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/LoopRotation.cpp b/lib/Transforms/Scalar/LoopRotation.cpp
index 0e31ece..91a96bc 100644
--- a/lib/Transforms/Scalar/LoopRotation.cpp
+++ b/lib/Transforms/Scalar/LoopRotation.cpp
@@ -249,8 +249,8 @@
     // create new PHINode for this instruction.
     Instruction *NewHeaderReplacement = NULL;
     if (usedOutsideOriginalHeader(In)) {
-      const StructType *STy = dyn_cast<StructType>(In->getType());
-      if (STy) {
+      // FIXME: remove this when we have first-class aggregates.
+      if (isa<StructType>(In->getType())) {
         // Can't create PHI nodes for this type.  If there are any getResults
         // not defined in this block, move them back to this block.  PHI
         // nodes will be created for all getResults later.
@@ -261,14 +261,15 @@
             ++InsertPoint;
         } else {
           InsertPoint = I;  // call
-          InsertPoint++;
+          ++InsertPoint;
         }
         for (Value::use_iterator UI = In->use_begin(), UE = In->use_end();
              UI != UE; ++UI) {
           GetResultInst *InGR = cast<GetResultInst>(UI);
           if (InGR->getParent() != OrigHeader) {
-            // move InGR to immediately follow call.  It will be picked
-            // up, cloned and PHI'd on the next iteration.
+            // Move InGR to immediately after the call or in the normal dest of
+            // the invoke.  It will be picked up, cloned and PHI'd on the next
+            // iteration.
             InGR->moveBefore(InsertPoint);
           }
         }