[flang-commits] [flang] 8d5f280 - [flang] Adding a couple of tests to the alias analysis (#125917)

via flang-commits flang-commits at lists.llvm.org
Thu Feb 6 09:55:52 PST 2025


Author: Renaud Kauffmann
Date: 2025-02-06T09:55:49-08:00
New Revision: 8d5f280559c7d17e1e54afe3df738f65f6051386

URL: https://github.com/llvm/llvm-project/commit/8d5f280559c7d17e1e54afe3df738f65f6051386
DIFF: https://github.com/llvm/llvm-project/commit/8d5f280559c7d17e1e54afe3df738f65f6051386.diff

LOG: [flang] Adding a couple of tests to the alias analysis (#125917)

To establish a baseline for new tests mentioned in
https://github.com/llvm/llvm-project/pull/117785, adding them here
independently.

Added: 
    

Modified: 
    flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir

Removed: 
    


################################################################################
diff  --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
index d03348efd2a68c0..ca97c5900281d64 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
@@ -47,6 +47,14 @@
 // CHECK-DAG: arg2.load#0 <-> arg2.addr#0: MustAlias
 // CHECK-DAG: boxp1.addr#0 <-> arg2.addr#0: MayAlias
 
+// TODO: Can the address in a pointer alias the address of a pointer, even when the
+// pointer has no box. Should this be NoAlias?
+// T3: CHECK-DAG: p1.addr#0 <-> p1.tgt#0: MayAlias
+
+// The addresses stored in two 
diff erent pointers can alias, even if one has no
+// box.  In this program, they happen to be the same address.
+// T4: CHECK-DAG: p1.tgt#0 <-> boxp1.addr#0: MayAlias
+
 func.func @_QFPtest(%arg0: !fir.ref<f32> {fir.bindc_name = "v1", fir.target}, %arg1: !fir.ref<f32> {fir.bindc_name = "v2", fir.target}, %arg2: !fir.ref<!fir.box<!fir.ptr<f32>>> ) attributes {test.ptr = "func"} {
 
   %1 = fir.alloca !fir.ptr<f32> {test.ptr = "p1.addr"}
@@ -63,7 +71,7 @@ func.func @_QFPtest(%arg0: !fir.ref<f32> {fir.bindc_name = "v1", fir.target}, %a
   fir.store %6 to %4 : !fir.ref<!fir.ptr<f32>>
 
   %0 = fir.alloca !fir.box<!fir.ptr<f32>> {bindc_name = "p1", uniq_name = "_QFtestEp1"}
-  %7 = fir.load %1 : !fir.ref<!fir.ptr<f32>>
+  %7 = fir.load %1 {test.ptr="p1.tgt"} : !fir.ref<!fir.ptr<f32>>
   %8 = fir.embox %7 : (!fir.ptr<f32>) -> !fir.box<!fir.ptr<f32>>
   fir.store %8 to %0 : !fir.ref<!fir.box<!fir.ptr<f32>>>
 


        


More information about the flang-commits mailing list