diff options
Diffstat (limited to 'include/llvm/CodeGen/EdgeBundles.h')
| -rw-r--r-- | include/llvm/CodeGen/EdgeBundles.h | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/EdgeBundles.h b/include/llvm/CodeGen/EdgeBundles.h index 2c5215a7927a1..8aab3c64f1708 100644 --- a/include/llvm/CodeGen/EdgeBundles.h +++ b/include/llvm/CodeGen/EdgeBundles.h @@ -16,6 +16,7 @@  #ifndef LLVM_CODEGEN_EDGEBUNDLES_H  #define LLVM_CODEGEN_EDGEBUNDLES_H +#include "llvm/ADT/ArrayRef.h"  #include "llvm/ADT/IntEqClasses.h"  #include "llvm/CodeGen/MachineFunctionPass.h" @@ -29,6 +30,9 @@ class EdgeBundles : public MachineFunctionPass {    ///   2*BB->getNumber()+1 -> Outgoing bundle.    IntEqClasses EC; +  /// Blocks - Map each bundle to a list of basic block numbers. +  SmallVector<SmallVector<unsigned, 8>, 4> Blocks; +  public:    static char ID;    EdgeBundles() : MachineFunctionPass(ID) {} @@ -40,6 +44,9 @@ public:    /// getNumBundles - Return the total number of bundles in the CFG.    unsigned getNumBundles() const { return EC.getNumClasses(); } +  /// getBlocks - Return an array of blocks that are connected to Bundle. +  ArrayRef<unsigned> getBlocks(unsigned Bundle) { return Blocks[Bundle]; } +    /// getMachineFunction - Return the last machine function computed.    const MachineFunction *getMachineFunction() const { return MF; }  | 
