Spatial
Simple Static Analysis in LLVM
Worklist.h
Go to the documentation of this file.
1#include "queue"
2#include "llvm/IR/BasicBlock.h"
3#include "llvm/IR/Function.h"
4#include "llvm/IR/Instruction.h"
5#include "llvm/IR/Module.h"
6
7namespace spatial {
8
9class Worklist {
10private:
11 std::queue<llvm::Instruction *> Queue;
12
13public:
14 Worklist(llvm::Instruction *);
15 Worklist(llvm::BasicBlock *);
16 Worklist(llvm::Function *);
17 Worklist(llvm::Module *);
18 llvm::Instruction *pop();
19 void push(llvm::Instruction *);
20 void push(llvm::BasicBlock *);
21 void push(llvm::Function *);
22 int size();
23 bool empty();
24};
25
26} // namespace spatial
Definition: Worklist.h:9
Worklist(llvm::Instruction *)
Definition: Worklist.cpp:5
int size()
Definition: Worklist.cpp:45
void push(llvm::Instruction *)
Definition: Worklist.cpp:31
llvm::Instruction * pop()
Definition: Worklist.cpp:25
bool empty()
Definition: Worklist.cpp:47
Definition: PointsToBenchmark.cpp:19