File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed
test/Transforms/InferAddressSpaces/AMDGPU Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -523,6 +523,10 @@ InferAddressSpacesImpl::collectFlatAddressExpressions(Function &F) const {
523
523
} else if (auto *I2P = dyn_cast<IntToPtrInst>(&I)) {
524
524
if (isNoopPtrIntCastPair (cast<Operator>(I2P), *DL, TTI))
525
525
PushPtrOperand (cast<Operator>(I2P->getOperand (0 ))->getOperand (0 ));
526
+ } else if (auto *RI = dyn_cast<ReturnInst>(&I)) {
527
+ if (auto *RV = RI->getReturnValue ();
528
+ RV && RV->getType ()->isPtrOrPtrVectorTy ())
529
+ PushPtrOperand (RV);
526
530
}
527
531
}
528
532
Original file line number Diff line number Diff line change 4
4
; this doesn't do something insane on non-canonical IR.
5
5
6
6
; CHECK-LABEL: @return_select_group_flat(
7
- ; CHECK-NEXT: %cast0 = addrspacecast ptr addrspace(3) %group.ptr.0 to ptr
8
- ; CHECK-NEXT: %cast1 = addrspacecast ptr addrspace(3) %group.ptr.1 to ptr
9
- ; CHECK-NEXT: %select = select i1 %c, ptr %cast0, ptr %cast1
10
- ; CHECK-NEXT: ret ptr %select
7
+ ; CHECK-NEXT: [[SELECT:%.*]] = select i1 %c, ptr addrspace(3) %group.ptr.0, ptr addrspace(3) %group.ptr.1
8
+ ; CHECK-NEXT: [[TMP1:%.*]] = addrspacecast ptr addrspace(3) [[SELECT]] to ptr
9
+ ; CHECK-NEXT: ret ptr [[TMP1]]
11
10
define ptr @return_select_group_flat (i1 %c , ptr addrspace (3 ) %group.ptr.0 , ptr addrspace (3 ) %group.ptr.1 ) #0 {
12
11
%cast0 = addrspacecast ptr addrspace (3 ) %group.ptr.0 to ptr
13
12
%cast1 = addrspacecast ptr addrspace (3 ) %group.ptr.1 to ptr
You can’t perform that action at this time.
0 commit comments