Spatial
Simple Static Analysis in LLVM
TokenWrapper.h
Go to the documentation of this file.
1#ifndef TOKENWRAPPER_H
2#define TOKENWRAPPER_H
3
4#include "Token.h"
5#include "set"
6#include "string"
7#include "llvm/IR/Argument.h"
8#include "llvm/IR/Constants.h"
9#include "llvm/IR/Function.h"
10#include "llvm/IR/GlobalVariable.h"
11#include "llvm/IR/Instructions.h"
12#include "llvm/IR/Operator.h"
13#include "llvm/IR/Type.h"
14#include "llvm/IR/Value.h"
15
16namespace spatial {
17
19private:
20 std::map<std::string, Token *> TokenBank;
21 bool isCached(Token *);
22 bool insert(Token *);
23
24public:
25 Token *getToken(llvm::Value *);
26 Token *getToken(llvm::Argument *);
27 Token *getToken(llvm::Type *);
28 Token *getToken(llvm::Instruction *);
30 Token *getToken(std::string, llvm::Function *);
31 Token *getToken(llvm::GEPOperator *, llvm::Function *);
32
34
36};
37
38} // namespace spatial
39
40#endif
Definition: TokenWrapper.h:18
Token * getToken(llvm::Value *)
Definition: TokenWrapper.cpp:26
~TokenWrapper()
Definition: TokenWrapper.cpp:108
Token * getTokenWithoutIndex(Token *)
Definition: TokenWrapper.cpp:85
Definition: Token.h:29
Definition: PointsToBenchmark.cpp:19