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

via flang-commits flang-commits at lists.llvm.org
Fri Jan 31 06:04:56 PST 2025


Author: jeanPerier
Date: 2025-01-31T14:04:53Z
New Revision: 85d417564b5f959f7434f2657cc9e1ab3575311f

URL: https://github.com/llvm/llvm-project/commit/85d417564b5f959f7434f2657cc9e1ab3575311f
DIFF: https://github.com/llvm/llvm-project/commit/85d417564b5f959f7434f2657cc9e1ab3575311f.diff

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

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.

Added: 
    

Modified: 
    flang/include/flang/Optimizer/Builder/HLFIRTools.h
    flang/test/HLFIR/assign-codegen.fir

Removed: 
    


################################################################################
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>


        


More information about the flang-commits mailing list