llvm/llvm/lib/CodeGen/MachineDomTreeUpdater.cpp

//===- MachineDomTreeUpdater.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file implements the MachineDomTreeUpdater class, which provides a
// uniform way to update dominator tree related data structures.
//
//===----------------------------------------------------------------------===//

#include "llvm/CodeGen/MachineDomTreeUpdater.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/Analysis/GenericDomTreeUpdaterImpl.h"
#include "llvm/CodeGen/MachinePostDominators.h"
#include "llvm/Support/GenericDomTree.h"
#include <algorithm>
#include <functional>
#include <utility>

namespace llvm {

template class GenericDomTreeUpdater<
    MachineDomTreeUpdater, MachineDominatorTree, MachinePostDominatorTree>;

template void
GenericDomTreeUpdater<MachineDomTreeUpdater, MachineDominatorTree,
                      MachinePostDominatorTree>::recalculate(MachineFunction
                                                                 &MF);

bool MachineDomTreeUpdater::forceFlushDeletedBB() {}

// The DT and PDT require the nodes related to updates
// are not deleted when update functions are called.
// So MachineBasicBlock deletions must be pended when the
// UpdateStrategy is Lazy. When the UpdateStrategy is
// Eager, the MachineBasicBlock will be deleted immediately.
void MachineDomTreeUpdater::deleteBB(MachineBasicBlock *DelBB) {}

void MachineDomTreeUpdater::validateDeleteBB(MachineBasicBlock *DelBB) {}

} // namespace llvm