summaryrefslogtreecommitdiff
path: root/tools/opt/opt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/opt/opt.cpp')
-rw-r--r--tools/opt/opt.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index dcff891bcd..ef8c504d0f 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -795,7 +795,9 @@ int main(int argc, char **argv) {
const PassInfo *PassInf = PassList[i];
Pass *P = 0;
- if (PassInf->getNormalCtor())
+ if (PassInf->getTargetMachineCtor())
+ P = PassInf->getTargetMachineCtor()(TM.get());
+ else if (PassInf->getNormalCtor())
P = PassInf->getNormalCtor()();
else
errs() << argv[0] << ": cannot create pass: "