Skip to content

Commit a14805a

Browse files
committed
Remove isPointerType to apply nocapture to descriptor
1 parent 63751a8 commit a14805a

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

flang/lib/Optimizer/Transforms/FunctionAttr.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ void FunctionAttrPass::runOnOperation() {
5858

5959
for (auto [index, argType] : llvm::enumerate(func.getArgumentTypes())) {
6060
if (mlir::isa<fir::ReferenceType>(argType) &&
61-
!fir::isPointerType(argType) &&
6261
!func.getArgAttr(index, fir::getTargetAttrName()) &&
6362
!func.getArgAttr(index, fir::getAsynchronousAttrName()) &&
6463
!func.getArgAttr(index, fir::getVolatileAttrName()))

flang/test/Transforms/function-attrs.fir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func.func @_QParg_nocapture(%arg0: !fir.ref<i32> {fir.bindc_name = "tar", fir.ta
1616
// CHECK-SAME: %[[ARG0:.*]]: !fir.ref<i32> {fir.bindc_name = "tar", fir.target},
1717
// CHECK-SAME: %[[ARG1:.*]]: !fir.ref<i32> {fir.asynchronous, fir.bindc_name = "asynch"},
1818
// CHECK-SAME: %[[ARG2:.*]]: !fir.ref<i32> {fir.bindc_name = "vol", fir.volatile},
19-
// CHECK-SAME: %[[ARG3:.*]]: !fir.ref<!fir.box<!fir.ptr<i32>>> {fir.bindc_name = "ptr"},
19+
// CHECK-SAME: %[[ARG3:.*]]: !fir.ref<!fir.box<!fir.ptr<i32>>> {fir.bindc_name = "ptr", llvm.nocapture},
2020
// CHECK-SAME: %[[ARG4:.*]]: !fir.ref<i32> {fir.bindc_name = "nocap", llvm.nocapture}) {
2121
// CHECK: return
2222
// CHECK-NEXT: }
@@ -39,7 +39,7 @@ func.func private @_QMarg_modPcheck_args(!fir.ref<i32> {fir.target}, !fir.ref<i3
3939
// CHECK-SAME: !fir.ref<i32> {fir.target},
4040
// CHECK-SAME: !fir.ref<i32> {fir.asynchronous},
4141
// CHECK-SAME: !fir.ref<i32> {fir.volatile},
42-
// CHECK-SAME: !fir.ref<!fir.box<!fir.ptr<i32>>>,
42+
// CHECK-SAME: !fir.ref<!fir.box<!fir.ptr<i32>>> {llvm.nocapture},
4343
// CHECK-SAME: !fir.ref<i32> {llvm.nocapture},
4444
// CHECK-SAME: !fir.boxchar<1>,
4545
// CHECK-SAME: !fir.ref<complex<f32>> {llvm.nocapture})

0 commit comments

Comments
 (0)