[flang-commits] [flang] Revert "[flang][hlfir] get rid of box when translating scalars to extented value" (PR #125222)

via flang-commits flang-commits at lists.llvm.org
Fri Jan 31 05:54:01 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-flang-fir-hlfir

Author: None (jeanPerier)

<details>
<summary>Changes</summary>

Reverts llvm/llvm-project#<!-- -->125059

Broke OPTIONAL lowering for some intrinsics.

I have a proper fix for review https://github.com/llvm/llvm-project/pull/125215, but I would like to better test it, so I am reverting in the meantime.

---
Full diff: https://github.com/llvm/llvm-project/pull/125222.diff


2 Files Affected:

- (modified) flang/include/flang/Optimizer/Builder/HLFIRTools.h (+1-1) 
- (modified) flang/test/HLFIR/assign-codegen.fir (-10) 


``````````diff
diff --git a/flang/include/flang/Optimizer/Builder/HLFIRTools.h b/flang/include/flang/Optimizer/Builder/HLFIRTools.h
index d8785969bb72471..0684ad0f926ec93 100644
--- a/flang/include/flang/Optimizer/Builder/HLFIRTools.h
+++ b/flang/include/flang/Optimizer/Builder/HLFIRTools.h
@@ -125,7 +125,7 @@ class Entity : public mlir::Value {
   bool isSimplyContiguous() const {
     // If this can be described without a fir.box in FIR, this must
     // be contiguous.
-    if (!hlfir::isBoxAddressOrValueType(getFirBase().getType()) || isScalar())
+    if (!hlfir::isBoxAddressOrValueType(getFirBase().getType()))
       return true;
     // Otherwise, if this entity has a visible declaration in FIR,
     // or is the dereference of an allocatable or contiguous pointer
diff --git a/flang/test/HLFIR/assign-codegen.fir b/flang/test/HLFIR/assign-codegen.fir
index 5e48784284a8b4b..581d1ab0e7739c4 100644
--- a/flang/test/HLFIR/assign-codegen.fir
+++ b/flang/test/HLFIR/assign-codegen.fir
@@ -427,13 +427,3 @@ func.func @test_upoly_expr_assignment(%arg0: !fir.class<!fir.array<?xnone>> {fir
 // CHECK:           }
 // CHECK:           return
 // CHECK:         }
-
-func.func @test_scalar_box(%arg0: f32, %arg1: !fir.box<!fir.ptr<f32>>) {
-  hlfir.assign %arg0 to %arg1 : f32, !fir.box<!fir.ptr<f32>>
-  return
-}
-// CHECK-LABEL:   func.func @test_scalar_box(
-// CHECK-SAME:                               %[[VAL_0:.*]]: f32,
-// CHECK-SAME:                               %[[VAL_1:.*]]: !fir.box<!fir.ptr<f32>>) {
-// CHECK:           %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
-// CHECK:           fir.store %[[VAL_0]] to %[[VAL_2]] : !fir.ptr<f32>

``````````

</details>


https://github.com/llvm/llvm-project/pull/125222


More information about the flang-commits mailing list