Lines Matching refs:CFGBuilder
30 CFGBuilder::CFGBuilder(Function *F, const std::vector<Arc> &InitialArcs, in CFGBuilder() function in CFGBuilder
85 BasicBlock *CFGBuilder::getOrAddBlock(StringRef BlockName) { in getOrAddBlock()
97 bool CFGBuilder::connect(const Arc &A) { in connect()
108 bool CFGBuilder::disconnect(const Arc &A) { in disconnect()
121 void CFGBuilder::buildCFG(const std::vector<Arc> &NewArcs) { in buildCFG()
129 Optional<CFGBuilder::Update> CFGBuilder::getNextUpdate() const { in getNextUpdate()
135 Optional<CFGBuilder::Update> CFGBuilder::applyUpdate() { in applyUpdate()
147 void CFGBuilder::dump(raw_ostream &OS) const { in dump()
165 TEST(CFGBuilder, Construction) { in TEST() argument
167 std::vector<CFGBuilder::Arc> Arcs = {{"entry", "a"}, {"a", "b"}, {"a", "c"}, in TEST()
170 CFGBuilder B(Holder.F, Arcs, {}); in TEST()
184 TEST(CFGBuilder, Insertions) { in TEST() argument
186 const auto Insert = CFGBuilder::ActionKind::Insert; in TEST()
187 std::vector<CFGBuilder::Update> Updates = { in TEST()
193 CFGBuilder B(Holder.F, {}, Updates); in TEST()
212 TEST(CFGBuilder, Deletions) { in TEST() argument
214 std::vector<CFGBuilder::Arc> Arcs = { in TEST()
216 const auto Delete = CFGBuilder::ActionKind::Delete; in TEST()
217 std::vector<CFGBuilder::Update> Updates = { in TEST()
222 CFGBuilder B(Holder.F, Arcs, Updates); in TEST()
232 EXPECT_EQ(UpdateC->Action, CFGBuilder::ActionKind::Delete); in TEST()
246 TEST(CFGBuilder, Rebuild) { in TEST() argument
248 std::vector<CFGBuilder::Arc> Arcs = { in TEST()
250 const auto Insert = CFGBuilder::ActionKind::Insert; in TEST()
251 const auto Delete = CFGBuilder::ActionKind::Delete; in TEST()
252 std::vector<CFGBuilder::Update> Updates = { in TEST()
258 CFGBuilder B(Holder.F, Arcs, Updates); in TEST()