| //===- TestAliasAnalysis.h - MLIR Test Utility ------------------*- C++ -*-===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file provides a common facility that can be reused for the | |
| // testing of various aliasing analyses | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H | |
| #define MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H | |
| #include "mlir/Analysis/AliasAnalysis.h" | |
| namespace mlir { | |
| namespace test { | |
| /// Print the result of an alias query. | |
| void printAliasResult(AliasResult result, Value lhs, Value rhs); | |
| void printModRefResult(ModRefResult result, Operation *op, Value location); | |
| struct TestAliasAnalysisBase { | |
| void runAliasAnalysisOnOperation(Operation *op, AliasAnalysis &aliasAnalysis); | |
| }; | |
| struct TestAliasAnalysisModRefBase { | |
| void runAliasAnalysisOnOperation(Operation *op, AliasAnalysis &aliasAnalysis); | |
| }; | |
| } // namespace test | |
| } // namespace mlir | |
| #endif // MLIR_TEST_LIB_ANALYSIS_ALIASANALYSIS_H |