Use an array instead of a fixed-length std::vector.
authorDan Gohman <gohman@apple.com>
Mon, 29 Oct 2007 20:24:00 +0000 (20:24 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 29 Oct 2007 20:24:00 +0000 (20:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43467 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LowerPacked.cpp

index 515995ebbef75abad2b0e1fad43c6bd68aac0fa3..57ba86d0ab715a4ab3fc7f7f3a300d59fd714a07 100644 (file)
@@ -22,6 +22,7 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/Streams.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringExtras.h"
 #include <algorithm>
 #include <map>
@@ -75,8 +76,9 @@ public:
    /// @param IE the insertelement operator to convert
    void visitInsertElementInst(InsertElementInst& IE);
 
-   /// This function asserts if the instruction is a VectorType but
-   /// is not handled by another function.
+   /// This function asserts that the given instruction does not have
+   /// vector type. Instructions with vector type should be handled by
+   /// the other functions in this class.
    ///
    /// @brief Asserts if VectorType instruction is not handled elsewhere.
    /// @param I the unhandled instruction
@@ -214,7 +216,7 @@ void LowerPacked::visitLoadInst(LoadInst& LI)
    // Make sure what we are dealing with is a vector type
    if (const VectorType* PKT = dyn_cast<VectorType>(LI.getType())) {
        // Initialization, Idx is needed for getelementptr needed later
-       std::vector<Value*> Idx(2);
+       Value *Idx[2];
        Idx[0] = ConstantInt::get(Type::Int32Ty,0);
 
        ArrayType* AT = ArrayType::get(PKT->getContainedType(0),
@@ -235,7 +237,7 @@ void LowerPacked::visitLoadInst(LoadInst& LI)
 
             // Get the pointer
             Value* val = new GetElementPtrInst(array,
-                                               Idx.begin(), Idx.end(),
+                                               Idx, array_endof(Idx),
                                                LI.getName() +
                                                ".ge." + utostr(i),
                                                &LI);
@@ -313,7 +315,7 @@ void LowerPacked::visitStoreInst(StoreInst& SI)
    if (const VectorType* PKT =
        dyn_cast<VectorType>(SI.getOperand(0)->getType())) {
        // We will need this for getelementptr
-       std::vector<Value*> Idx(2);
+       Value *Idx[2];
        Idx[0] = ConstantInt::get(Type::Int32Ty,0);
 
        ArrayType* AT = ArrayType::get(PKT->getContainedType(0),
@@ -333,7 +335,7 @@ void LowerPacked::visitStoreInst(StoreInst& SI)
             // Generate the indices for getelementptr
             Idx[1] = ConstantInt::get(Type::Int32Ty,i);
             Value* val = new GetElementPtrInst(array,
-                                               Idx.begin(), Idx.end(),
+                                               Idx, array_endof(Idx),
                                                "store.ge." +
                                                utostr(i) + ".",
                                                &SI);