summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-04-19 01:34:10 +0000
committerAndrew Trick <atrick@apple.com>2012-04-19 01:34:10 +0000
commita11810ad606b98a504f6d2ad44ae10df18e3def8 (patch)
tree9f37e7ee9110509184bc7f8cada69c158c79986a /llvm/lib/CodeGen
parent1af4a847400a0921b84118b8e18cf52b69166df7 (diff)
downloadbcm5719-llvm-a11810ad606b98a504f6d2ad44ae10df18e3def8.tar.gz
bcm5719-llvm-a11810ad606b98a504f6d2ad44ae10df18e3def8.zip
Allow targets to select the default scheduler by name.
llvm-svn: 155090
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/MachinePassRegistry.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachinePassRegistry.cpp b/llvm/lib/CodeGen/MachinePassRegistry.cpp
index 58e067bcb9b..cb204fdb349 100644
--- a/llvm/lib/CodeGen/MachinePassRegistry.cpp
+++ b/llvm/lib/CodeGen/MachinePassRegistry.cpp
@@ -18,6 +18,19 @@ using namespace llvm;
void MachinePassRegistryListener::anchor() { }
+/// setDefault - Set the default constructor by name.
+void MachinePassRegistry::setDefault(StringRef Name) {
+ MachinePassCtor Ctor = 0;
+ for(MachinePassRegistryNode *R = getList(); R; R = R->getNext()) {
+ if (R->getName() == Name) {
+ Ctor = R->getCtor();
+ break;
+ }
+ }
+ assert(Ctor && "Unregistered pass name");
+ setDefault(Ctor);
+}
+
/// Add - Adds a function pass to the registration list.
///
void MachinePassRegistry::Add(MachinePassRegistryNode *Node) {
OpenPOWER on IntegriCloud