From: Jordan Rupprecht Date: Tue, 18 Jun 2019 18:40:04 +0000 (+0000) Subject: Revert [SROA] Enhance SROA to handle `addrspacecast`ed allocas X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ec8c65256886edf88bfd3234b16c370b7432592a;p=llvm Revert [SROA] Enhance SROA to handle `addrspacecast`ed allocas This reverts r363711 (git commit 76a149ef8187310a60fd20481fdb2a10c8ba968e) This causes stage2 build failures, e.g.: http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/132/steps/stage%202%20build/logs/stdio http://lab.llvm.org:8011/builders/ppc64le-lld-multistage-test/builds/87/steps/build-stage2-unified-tree/logs/stdio git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363718 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/SROA.cpp b/lib/Transforms/Scalar/SROA.cpp index 627199a27e6..6454f1ea1eb 100644 --- a/lib/Transforms/Scalar/SROA.cpp +++ b/lib/Transforms/Scalar/SROA.cpp @@ -1589,12 +1589,6 @@ static Value *getAdjustedPtr(IRBuilderTy &IRB, const DataLayout &DL, Value *Ptr, PointerType *TargetPtrTy = cast(PointerTy); Type *TargetTy = TargetPtrTy->getElementType(); - // As `addrspacecast` is , `Ptr` (the storage pointer) may have different - // address space from the expected `PointerTy` (the pointer to be used). - // Adjust the pointer type based the original storage pointer. - auto AS = cast(Ptr->getType())->getAddressSpace(); - PointerTy = PointerTy->getPointerTo(AS); - do { // First fold any existing GEPs into the offset. while (GEPOperator *GEP = dyn_cast(Ptr)) { diff --git a/test/Transforms/SROA/addrspacecast.ll b/test/Transforms/SROA/addrspacecast.ll index d2a1cef81ae..5edef89e8cd 100644 --- a/test/Transforms/SROA/addrspacecast.ll +++ b/test/Transforms/SROA/addrspacecast.ll @@ -299,21 +299,6 @@ define void @select_addrspacecast_gv(i1 %a, i1 %b) { ret void } -; CHECK-LABEL: @select_addrspacecast_i8( -; CHECK: [[SEL:%.*]] = select i1 undef, i8 undef, i8 undef -; CHECK-NEXT: ret i8 [[SEL]] -define i8 @select_addrspacecast_i8() { - %a = alloca i8 - %b = alloca i8 - - %a.ptr = addrspacecast i8* %a to i8 addrspace(1)* - %b.ptr = addrspacecast i8* %b to i8 addrspace(1)* - - %ptr = select i1 undef, i8 addrspace(1)* %a.ptr, i8 addrspace(1)* %b.ptr - %ret = load i8, i8 addrspace(1)* %ptr - ret i8 %ret -} - !0 = !{!1, !1, i64 0, i64 1} !1 = !{!2, i64 1, !"type_0"} !2 = !{!"root"}