diff options
author | Tanya Lattner <tonic@nondot.org> | 2005-03-29 20:35:10 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2005-03-29 20:35:10 +0000 |
commit | 5e9f35234653123de9b7b0bf4deb1012cd7deb63 (patch) | |
tree | fd7fcd84e362a1900e0070dbfa16737df50adeed /lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h | |
parent | 5ec3a63f6d3626a7ed278f72ac42119736c1af4e (diff) |
Compare dependence analysis with llvm instructions versus machine instrutions. the problem with using machine instructions and alias analysis is that aa does not handle tmp instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20931 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h')
-rw-r--r-- | lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h b/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h index ebff43e590..bcc78d0df3 100644 --- a/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h +++ b/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.h @@ -16,7 +16,7 @@ #ifndef LLVM_MSCHEDGRAPH_H #define LLVM_MSCHEDGRAPH_H - +#include "DependenceAnalyzer.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/CodeGen/MachineInstr.h" #include "llvm/Target/TargetMachine.h" @@ -241,18 +241,20 @@ namespace llvm { //Add Nodes and Edges to this graph for our BB typedef std::pair<int, MSchedGraphNode*> OpIndexNodePair; - void buildNodesAndEdges(AliasAnalysis &AA, TargetData &TD, std::map<const MachineInstr*, unsigned> &ignoreInstrs); + void buildNodesAndEdges(AliasAnalysis &AA, TargetData &TD, std::map<const MachineInstr*, unsigned> &ignoreInstrs, DependenceAnalyzer &DA, std::map<MachineInstr*, Instruction*> &machineTollvm); void addValueEdges(std::vector<OpIndexNodePair> &NodesInMap, MSchedGraphNode *node, bool nodeIsUse, bool nodeIsDef, std::vector<const MachineInstr*> &phiInstrs, int diff=0); void addMachRegEdges(std::map<int, std::vector<OpIndexNodePair> >& regNumtoNodeMap); - void addMemEdges(const std::vector<MSchedGraphNode*>& memInst, AliasAnalysis &AA, TargetData &TD); + void addMemEdges(const std::vector<MSchedGraphNode*>& memInst, AliasAnalysis &AA, TargetData &TD, + DependenceAnalyzer &DA, std::map<MachineInstr*, Instruction*> &machineTollvm); void addBranchEdges(); public: - MSchedGraph(const MachineBasicBlock *bb, const TargetMachine &targ, AliasAnalysis &AA, TargetData &TD, - std::map<const MachineInstr*, unsigned> &ignoreInstrs); + MSchedGraph(const MachineBasicBlock *bb, const TargetMachine &targ, AliasAnalysis &AA, + TargetData &TD, std::map<const MachineInstr*, unsigned> &ignoreInstrs, + DependenceAnalyzer &DA, std::map<MachineInstr*, Instruction*> &machineTollvm); //Copy constructor with maps to link old nodes to new nodes MSchedGraph(const MSchedGraph &G, std::map<MSchedGraphNode*, MSchedGraphNode*> &newNodes); |