Code cleanup following CR by Duncan.
authorNadav Rotem <nadav.rotem@intel.com>
Tue, 28 Feb 2012 14:13:19 +0000 (14:13 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Tue, 28 Feb 2012 14:13:19 +0000 (14:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151627 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

index 5eba2c3ea7c13a8972bbe07b1f953727e77061ad..0038633cd6e06a169801a59145dbd8b370fdee1f 100644 (file)
@@ -3077,11 +3077,9 @@ void SelectionDAGBuilder::visitExtractValue(const ExtractValueInst &I) {
 
 void SelectionDAGBuilder::visitGetElementPtr(const User &I) {
   SDValue N = getValue(I.getOperand(0));
-  Type *Ty = I.getOperand(0)->getType();
-  // If this is a vector of pointers, use the size of the
-  // vector element and not the size of the pointer.
-  if (VectorType *VTy = dyn_cast<VectorType>(Ty))
-    Ty = VTy->getElementType();
+  // Note that the pointer operand may be a vector of pointers. Take the scalar
+  // element which holds a pointer.
+  Type *Ty = I.getOperand(0)->getType()->getScalarType();
 
   for (GetElementPtrInst::const_op_iterator OI = I.op_begin()+1, E = I.op_end();
        OI != E; ++OI) {