GlobalISel: Fix else after return
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 9 Jan 2020 16:03:17 +0000 (11:03 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Thu, 9 Jan 2020 22:37:52 +0000 (17:37 -0500)
llvm/lib/CodeGen/LowLevelType.cpp

index d4baf56..40dfa69 100644 (file)
@@ -24,15 +24,21 @@ LLT llvm::getLLTForType(Type &Ty, const DataLayout &DL) {
     if (NumElements == 1)
       return ScalarTy;
     return LLT::vector(NumElements, ScalarTy);
-  } else if (auto PTy = dyn_cast<PointerType>(&Ty)) {
-    return LLT::pointer(PTy->getAddressSpace(), DL.getTypeSizeInBits(&Ty));
-  } else if (Ty.isSized()) {
+  }
+
+  if (auto PTy = dyn_cast<PointerType>(&Ty)) {
+    unsigned AddrSpace = PTy->getAddressSpace();
+    return LLT::pointer(AddrSpace, DL.getPointerSizeInBits(AddrSpace));
+  }
+
+  if (Ty.isSized()) {
     // Aggregates are no different from real scalars as far as GlobalISel is
     // concerned.
     auto SizeInBits = DL.getTypeSizeInBits(&Ty);
     assert(SizeInBits != 0 && "invalid zero-sized type");
     return LLT::scalar(SizeInBits);
   }
+
   return LLT();
 }