[OpaquePtr] Get load/store type without PointerType::getElementType()
authorArthur Eubanks <aeubanks@google.com>
Tue, 13 Jul 2021 16:27:09 +0000 (09:27 -0700)
committerArthur Eubanks <aeubanks@google.com>
Tue, 13 Jul 2021 16:34:34 +0000 (09:34 -0700)
llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp

index e7b5a26..f1a2e7f 100644 (file)
@@ -100,11 +100,11 @@ struct StoreToLoadForwardingCandidate {
     Value *LoadPtr = Load->getPointerOperand();
     Value *StorePtr = Store->getPointerOperand();
     Type *LoadPtrType = LoadPtr->getType();
-    Type *LoadType = LoadPtrType->getPointerElementType();
+    Type *LoadType = getLoadStoreType(Load);
 
     assert(LoadPtrType->getPointerAddressSpace() ==
                StorePtr->getType()->getPointerAddressSpace() &&
-           LoadType == StorePtr->getType()->getPointerElementType() &&
+           LoadType == getLoadStoreType(Store) &&
            "Should be a known dependence");
 
     // Currently we only support accesses with unit stride.  FIXME: we should be