1//===-- CanonicalizeAliases.h - Alias Canonicalization Pass -----*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file canonicalizes aliases.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_TRANSFORMS_UTILS_CANONICALIZE_ALIASES_H
14#define LLVM_TRANSFORMS_UTILS_CANONICALIZE_ALIASES_H
15
16#include "llvm/IR/Module.h"
17#include "llvm/IR/PassManager.h"
18
19namespace llvm {
20
21/// Simple pass that canonicalizes aliases.
22class CanonicalizeAliasesPass : public PassInfoMixin<CanonicalizeAliasesPass> {
23public:
24  CanonicalizeAliasesPass() = default;
25
26  PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
27};
28
29} // end namespace llvm
30
31#endif // LLVM_TRANSFORMS_UTILS_CANONICALIZE_ALIASESH
32