Spatial
Simple Static Analysis in LLVM
GenericInstModel.h
Go to the documentation of this file.
1#ifndef GENERICINSTMODEL_GENERICINSTMODEL_H
2#define GENERICINSTMODEL_GENERICINSTMODEL_H
3
4#include "InstInfo/InstInfo.h"
6#include "Token/Token.h"
7#include "vector"
8#include "llvm/IR/Argument.h"
9#include "llvm/IR/Function.h"
10#include "llvm/IR/GlobalVariable.h"
11#include "llvm/IR/Instruction.h"
12#include "llvm/IR/Instructions.h"
13#include "llvm/IR/Operator.h"
14
15namespace spatial {
16
18public:
20
22 std::vector<int> extractRedirections(llvm::Instruction *);
23 InstInfo extractInstInfo(llvm::Instruction *);
24
25 std::vector<Token *> extractToken(llvm::Instruction *);
26 std::vector<Token *> extractToken(llvm::StoreInst *);
27 std::vector<Token *> extractToken(llvm::LoadInst *);
28 std::vector<Token *> extractToken(llvm::AllocaInst *);
29 std::vector<Token *> extractToken(llvm::BitCastInst *);
30 std::vector<Token *> extractToken(llvm::ReturnInst *);
31 std::vector<Token *> extractToken(llvm::GetElementPtrInst *);
32 std::vector<Token *> extractToken(llvm::GlobalVariable *);
33 std::vector<Token *> extractToken(llvm::CallInst *);
34 std::vector<Token *> extractToken(llvm::Argument *, llvm::Function *);
35
36 std::vector<int> extractRedirections(llvm::GlobalVariable *);
37 template <typename GEP> Token *handleGEPUtil(GEP *, Token *);
38};
39} // namespace spatial
40
41#endif
Definition: GenericInstModel.h:17
std::vector< Token * > extractToken(llvm::Instruction *)
Definition: GenericInstModel.cpp:16
Token * handleGEPUtil(GEP *, Token *)
handleGEPUtil - Returns the extended field value for a GEP
Definition: GenericInstModel.cpp:187
InstInfo extractInstInfo(llvm::Instruction *)
Definition: GenericInstModel.cpp:9
~GenericInstModel()
Definition: GenericInstModel.cpp:201
std::vector< int > extractRedirections(llvm::Instruction *)
Definition: GenericInstModel.cpp:166
Definition: InstInfo.h:10
Definition: InstModel.h:12
InstModel(TokenWrapper *TW)
Definition: InstModel.cpp:5
Definition: Token.h:29
Definition: PointsToBenchmark.cpp:19