[PATCH] D89745: Get the address space within getVectorPtrTy

Christopher Tetreault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 20 14:42:32 PDT 2020


This revision was automatically updated to reflect the committed changes.
Closed by commit rG2eac8ce820e6: Get the address space within getVectorPtrTy (authored by ctetreau).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89745/new/

https://reviews.llvm.org/D89745

Files:
  polly/include/polly/CodeGen/BlockGenerators.h
  polly/lib/CodeGen/BlockGenerators.cpp


Index: polly/lib/CodeGen/BlockGenerators.cpp
===================================================================
--- polly/lib/CodeGen/BlockGenerators.cpp
+++ polly/lib/CodeGen/BlockGenerators.cpp
@@ -1037,10 +1037,9 @@
   return Vector;
 }
 
-Type *VectorBlockGenerator::getVectorPtrTy(const Value *Val, int Width,
-                                           unsigned AddrSpace) {
-  PointerType *PointerTy = dyn_cast<PointerType>(Val->getType());
-  assert(PointerTy && "PointerType expected");
+Type *VectorBlockGenerator::getVectorPtrTy(const Value *Val, int Width) {
+  auto *PointerTy = cast<PointerType>(Val->getType());
+  unsigned AddrSpace = PointerTy->getAddressSpace();
 
   Type *ScalarType = PointerTy->getElementType();
   auto *FVTy = FixedVectorType::get(ScalarType, Width);
@@ -1053,8 +1052,7 @@
     __isl_keep isl_id_to_ast_expr *NewAccesses, bool NegativeStride = false) {
   unsigned VectorWidth = getVectorWidth();
   auto *Pointer = Load->getPointerOperand();
-  auto AS = Pointer->getType()->getPointerAddressSpace();
-  Type *VectorPtrType = getVectorPtrTy(Pointer, VectorWidth, AS);
+  Type *VectorPtrType = getVectorPtrTy(Pointer, VectorWidth);
   unsigned Offset = NegativeStride ? VectorWidth - 1 : 0;
 
   Value *NewPointer = generateLocationAccessed(Stmt, Load, ScalarMaps[Offset],
@@ -1083,8 +1081,7 @@
     ScopStmt &Stmt, LoadInst *Load, ValueMapT &BBMap,
     __isl_keep isl_id_to_ast_expr *NewAccesses) {
   auto *Pointer = Load->getPointerOperand();
-  auto AS = Pointer->getType()->getPointerAddressSpace();
-  Type *VectorPtrType = getVectorPtrTy(Pointer, 1, AS);
+  Type *VectorPtrType = getVectorPtrTy(Pointer, 1);
   Value *NewPointer =
       generateLocationAccessed(Stmt, Load, BBMap, VLTS[0], NewAccesses);
   Value *VectorPtr = Builder.CreateBitCast(NewPointer, VectorPtrType,
@@ -1204,8 +1201,7 @@
   extractScalarValues(Store, VectorMap, ScalarMaps);
 
   if (Access.isStrideOne(isl::manage_copy(Schedule))) {
-    auto AS = Pointer->getType()->getPointerAddressSpace();
-    Type *VectorPtrType = getVectorPtrTy(Pointer, getVectorWidth(), AS);
+    Type *VectorPtrType = getVectorPtrTy(Pointer, getVectorWidth());
     Value *NewPointer = generateLocationAccessed(Stmt, Store, ScalarMaps[0],
                                                  VLTS[0], NewAccesses);
 
@@ -1343,8 +1339,7 @@
       continue;
 
     auto *Address = getOrCreateAlloca(*MA);
-    auto AS = Address->getType()->getPointerAddressSpace();
-    Type *VectorPtrType = getVectorPtrTy(Address, 1, AS);
+    Type *VectorPtrType = getVectorPtrTy(Address, 1);
     Value *VectorPtr = Builder.CreateBitCast(Address, VectorPtrType,
                                              Address->getName() + "_p_vec_p");
     auto *Val = Builder.CreateLoad(VectorPtr, Address->getName() + ".reload");
Index: polly/include/polly/CodeGen/BlockGenerators.h
===================================================================
--- polly/include/polly/CodeGen/BlockGenerators.h
+++ polly/include/polly/CodeGen/BlockGenerators.h
@@ -662,7 +662,7 @@
   Value *getVectorValue(ScopStmt &Stmt, Value *Old, ValueMapT &VectorMap,
                         VectorValueMapT &ScalarMaps, Loop *L);
 
-  Type *getVectorPtrTy(const Value *V, int Width, unsigned AddrSpace);
+  Type *getVectorPtrTy(const Value *V, int Width);
 
   /// Load a vector from a set of adjacent scalars
   ///


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89745.299482.patch
Type: text/x-patch
Size: 3376 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201020/a4987b07/attachment.bin>


More information about the llvm-commits mailing list