mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-18 10:24:45 +00:00
Add new methods, update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7962 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
//===- llvm/Analysis/Dominators.h - Dominator Info Calculation ---*- C++ -*--=//
|
//===- llvm/Analysis/Dominators.h - Dominator Info Calculation --*- C++ -*-===//
|
||||||
//
|
//
|
||||||
// This file defines the following classes:
|
// This file defines the following classes:
|
||||||
// 1. DominatorSet: Calculates the [reverse] dominator set for a function
|
// 1. DominatorSet: Calculates the [reverse] dominator set for a function
|
||||||
@@ -46,7 +46,9 @@ public:
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// DominatorSet - Maintain a set<BasicBlock*> for every basic block in a
|
// DominatorSet - Maintain a set<BasicBlock*> for every basic block in a
|
||||||
// function, that represents the blocks that dominate the block.
|
// function, that represents the blocks that dominate the block. If the block
|
||||||
|
// is unreachable in this function, the set will be empty. This cannot happen
|
||||||
|
// for reachable code, because every block dominates at least itself.
|
||||||
//
|
//
|
||||||
class DominatorSetBase : public DominatorBase {
|
class DominatorSetBase : public DominatorBase {
|
||||||
public:
|
public:
|
||||||
@@ -80,6 +82,12 @@ public:
|
|||||||
return I->second;
|
return I->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// isReachable - Return true if the specified basicblock is reachable. If
|
||||||
|
/// the block is reachable, we have dominator set information for it.
|
||||||
|
bool isReachable(BasicBlock *BB) const {
|
||||||
|
return !getDominators(BB).empty();
|
||||||
|
}
|
||||||
|
|
||||||
/// dominates - Return true if A dominates B.
|
/// dominates - Return true if A dominates B.
|
||||||
///
|
///
|
||||||
inline bool dominates(BasicBlock *A, BasicBlock *B) const {
|
inline bool dominates(BasicBlock *A, BasicBlock *B) const {
|
||||||
|
Reference in New Issue
Block a user