projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert r237046. See the testcase on the thread where r237046 was committed.
[oota-llvm.git]
/
include
/
llvm
/
CodeGen
/
EdgeBundles.h
diff --git
a/include/llvm/CodeGen/EdgeBundles.h
b/include/llvm/CodeGen/EdgeBundles.h
index 2c5215a7927a16bf96da5bb80b6252e6e8634a21..c31fad246c9632e6fa19d934b42dcd5ec30c5a02 100644
(file)
--- a/
include/llvm/CodeGen/EdgeBundles.h
+++ b/
include/llvm/CodeGen/EdgeBundles.h
@@
-16,7
+16,9
@@
#ifndef LLVM_CODEGEN_EDGEBUNDLES_H
#define LLVM_CODEGEN_EDGEBUNDLES_H
#ifndef LLVM_CODEGEN_EDGEBUNDLES_H
#define LLVM_CODEGEN_EDGEBUNDLES_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/IntEqClasses.h"
#include "llvm/ADT/IntEqClasses.h"
+#include "llvm/ADT/Twine.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
namespace llvm {
#include "llvm/CodeGen/MachineFunctionPass.h"
namespace llvm {
@@
-29,6
+31,9
@@
class EdgeBundles : public MachineFunctionPass {
/// 2*BB->getNumber()+1 -> Outgoing bundle.
IntEqClasses EC;
/// 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) {}
public:
static char ID;
EdgeBundles() : MachineFunctionPass(ID) {}
@@
-40,6
+45,9
@@
public:
/// getNumBundles - Return the total number of bundles in the CFG.
unsigned getNumBundles() const { return EC.getNumClasses(); }
/// 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) const { return Blocks[Bundle]; }
+
/// getMachineFunction - Return the last machine function computed.
const MachineFunction *getMachineFunction() const { return MF; }
/// getMachineFunction - Return the last machine function computed.
const MachineFunction *getMachineFunction() const { return MF; }
@@
-47,15
+55,10
@@
public:
void view() const;
private:
void view() const;
private:
-
virtual bool runOnMachineFunction(MachineFunction&)
;
- v
irtual void getAnalysisUsage(AnalysisUsage&) const
;
+
bool runOnMachineFunction(MachineFunction&) override
;
+ v
oid getAnalysisUsage(AnalysisUsage&) const override
;
};
};
-/// Specialize WriteGraph, the standard implementation won't work.
-raw_ostream &WriteGraph(raw_ostream &O, const EdgeBundles &G,
- bool ShortNames = false,
- const std::string &Title = "");
-
} // end namespace llvm
#endif
} // end namespace llvm
#endif