xref: /llvm-project/mlir/test/lib/Analysis/TestAliasAnalysis.h (revision ba65584d1545951ce958ea5729692374055d6b9f)
1*ba65584dSRenaud-K //===- TestAliasAnalysis.h - MLIR Test Utility ------------------*- C++ -*-===//
2*ba65584dSRenaud-K //
3*ba65584dSRenaud-K // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*ba65584dSRenaud-K // See https://llvm.org/LICENSE.txt for license information.
5*ba65584dSRenaud-K // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*ba65584dSRenaud-K //
7*ba65584dSRenaud-K //===----------------------------------------------------------------------===//
8*ba65584dSRenaud-K //
9*ba65584dSRenaud-K // This file provides a common facility that can be reused for the
10*ba65584dSRenaud-K // testing of various aliasing analyses
11*ba65584dSRenaud-K //
12*ba65584dSRenaud-K //===----------------------------------------------------------------------===//
13*ba65584dSRenaud-K 
14*ba65584dSRenaud-K #ifndef MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H
15*ba65584dSRenaud-K #define MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H
16*ba65584dSRenaud-K 
17*ba65584dSRenaud-K #include "mlir/Analysis/AliasAnalysis.h"
18*ba65584dSRenaud-K 
19*ba65584dSRenaud-K namespace mlir {
20*ba65584dSRenaud-K namespace test {
21*ba65584dSRenaud-K 
22*ba65584dSRenaud-K /// Print the result of an alias query.
23*ba65584dSRenaud-K void printAliasResult(AliasResult result, Value lhs, Value rhs);
24*ba65584dSRenaud-K void printModRefResult(ModRefResult result, Operation *op, Value location);
25*ba65584dSRenaud-K 
26*ba65584dSRenaud-K struct TestAliasAnalysisBase {
27*ba65584dSRenaud-K   void runAliasAnalysisOnOperation(Operation *op, AliasAnalysis &aliasAnalysis);
28*ba65584dSRenaud-K };
29*ba65584dSRenaud-K 
30*ba65584dSRenaud-K struct TestAliasAnalysisModRefBase {
31*ba65584dSRenaud-K   void runAliasAnalysisOnOperation(Operation *op, AliasAnalysis &aliasAnalysis);
32*ba65584dSRenaud-K };
33*ba65584dSRenaud-K 
34*ba65584dSRenaud-K } // namespace test
35*ba65584dSRenaud-K } // namespace mlir
36*ba65584dSRenaud-K 
37*ba65584dSRenaud-K #endif // MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H
38