diff options
author | Dan Gohman <gohman@apple.com> | 2008-07-14 18:19:29 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-07-14 18:19:29 +0000 |
commit | 5e84368b26415b3bb7f3f8d9cff3e05938dd82d0 (patch) | |
tree | fcaebec3993c08eb5c03d062e330b6397cedd582 /include/llvm | |
parent | 3fea643fb427e72907b7a40e940d7949d1d57e76 (diff) |
Reapply 53476 and 53480, with a fix so that it properly updates
the BB member to the current basic block after emitting
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53567 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/CodeGen/ScheduleDAG.h | 4 | ||||
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGISel.h | 5 | ||||
-rw-r--r-- | include/llvm/Support/Timer.h | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h index ed7801fbfc..0225b1231e 100644 --- a/include/llvm/CodeGen/ScheduleDAG.h +++ b/include/llvm/CodeGen/ScheduleDAG.h @@ -265,7 +265,7 @@ namespace llvm { /// Run - perform scheduling. /// - MachineBasicBlock *Run(); + void Run(); /// isPassiveNode - Return true if the node is a non-scheduled leaf. /// @@ -336,7 +336,7 @@ namespace llvm { /// void EmitNoop(); - void EmitSchedule(); + MachineBasicBlock *EmitSchedule(); void dumpSchedule() const; diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h index e0b26b926b..72a836f55b 100644 --- a/include/llvm/CodeGen/SelectionDAGISel.h +++ b/include/llvm/CodeGen/SelectionDAGISel.h @@ -30,6 +30,7 @@ namespace llvm { class FunctionLoweringInfo; class HazardRecognizer; class CollectorMetadata; + class ScheduleDAG; /// SelectionDAGISel - This is the common base class used for SelectionDAG-based /// pattern-matching instruction selectors. @@ -191,9 +192,9 @@ private: void ComputeLiveOutVRegInfo(SelectionDAG &DAG); - /// Pick a safe ordering and emit instructions for each target node in the + /// Pick a safe ordering for instructions for each target node in the /// graph. - void ScheduleAndEmitDAG(SelectionDAG &DAG); + ScheduleDAG *Schedule(SelectionDAG &DAG); /// SwitchCases - Vector of CaseBlock structures used to communicate /// SwitchInst code generation information. diff --git a/include/llvm/Support/Timer.h b/include/llvm/Support/Timer.h index 4164ddc891..b9882a9708 100644 --- a/include/llvm/Support/Timer.h +++ b/include/llvm/Support/Timer.h @@ -132,6 +132,8 @@ public: /// struct NamedRegionTimer : public TimeRegion { explicit NamedRegionTimer(const std::string &Name); + explicit NamedRegionTimer(const std::string &Name, + const std::string &GroupName); }; |