#include "CFGBuilder.h"
#include "llvm/Analysis/PostDominators.h"
#include "llvm/IR/Dominators.h"
#include "llvm/Support/GenericDomTreeConstruction.h"
#include "gtest/gtest.h"
#include <random>
#define DEBUG_TYPE …
usingnamespacellvm;
namespace {
const auto CFGInsert = …;
const auto CFGDelete = …;
DomUpdate;
static_assert …;
DomSNCA;
PostDomSNCA;
const auto Insert = …;
const auto Delete = …;
std::vector<DomUpdate> ToDomUpdates(CFGBuilder &B,
std::vector<CFGBuilder::Update> &In) { … }
}
TEST(DominatorTreeBatchUpdates, LegalizeDomUpdates) { … }
TEST(DominatorTreeBatchUpdates, LegalizePostDomUpdates) { … }
TEST(DominatorTreeBatchUpdates, SingleInsertion) { … }
TEST(DominatorTreeBatchUpdates, SingleDeletion) { … }
TEST(DominatorTreeBatchUpdates, FewInsertion) { … }
TEST(DominatorTreeBatchUpdates, FewDeletions) { … }
TEST(DominatorTreeBatchUpdates, InsertDelete) { … }
TEST(DominatorTreeBatchUpdates, InsertDeleteExhaustive) { … }
TEST(DominatorTreeBatchUpdates, InfiniteLoop) { … }
TEST(DominatorTreeBatchUpdates, DeadBlocks) { … }
TEST(DominatorTreeBatchUpdates, InfiniteLoop2) { … }