mini-llvm 0.1.0
Loading...
Searching...
No Matches
AliasAnalysis.h
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5#include <memory>
6
11
12namespace mini_llvm::ir {
13
20
22public:
24 ~AliasAnalysis() override;
25 void runOnFunction(const Function &F) override;
26 AliasResult alias(const Value &ptr1, const Value &ptr2) const;
27 AliasResult alias(const Value &ptr1, int size1, const Value &ptr2, int size2) const;
28
29private:
30 class Impl;
31
32 std::unique_ptr<Impl> impl_;
33};
34
35} // namespace mini_llvm::ir
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
AliasResult alias(const Value &ptr1, const Value &ptr2) const
AliasResult alias(const Value &ptr1, int size1, const Value &ptr2, int size2) const
void runOnFunction(const Function &F) override
Definition Function.h:34
Definition Value.h:24
Definition Argument.h:13
AliasResult
Definition AliasAnalysis.h:14
@ kPartialAlias
Definition AliasAnalysis.h:17
@ kMayAlias
Definition AliasAnalysis.h:15
@ kMustAlias
Definition AliasAnalysis.h:16
@ kNoAlias
Definition AliasAnalysis.h:18