From 7bf95b403d57c44090597bb450a43de8700fff4c Mon Sep 17 00:00:00 2001 From: Bjorn Steinbrink Date: Sun, 17 Dec 2017 15:16:51 +0000 Subject: [PATCH] Revert "Treat sret arguments as being dereferenceable in getPointerDereferenceableBytes()" This reverts commit 8b7a7660a3904b2088bc594311bcea2c651def08. I didn't mean to commit this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320944 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/IR/Value.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/IR/Value.cpp b/lib/IR/Value.cpp index d36b7cd4c64..eae697b2e4b 100644 --- a/lib/IR/Value.cpp +++ b/lib/IR/Value.cpp @@ -627,10 +627,9 @@ uint64_t Value::getPointerDereferenceableBytes(const DataLayout &DL, CanBeNull = false; if (const Argument *A = dyn_cast(this)) { DerefBytes = A->getDereferenceableBytes(); - if (DerefBytes == 0 && (A->hasByValAttr() || A->hasStructRetAttr())) { + if (DerefBytes == 0 && A->hasByValAttr()) { Type *PT = cast(A->getType())->getElementType(); - if (PT->isSized()) - DerefBytes = DL.getTypeStoreSize(PT); + DerefBytes = DL.getTypeStoreSize(PT); } if (DerefBytes == 0) { DerefBytes = A->getDereferenceableOrNullBytes(); -- 2.50.0