Move pass configuration out of pass constructors: BranchFolderPass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150095 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp
index 6d12dd8..0a4d4d7 100644
--- a/lib/CodeGen/Passes.cpp
+++ b/lib/CodeGen/Passes.cpp
@@ -83,6 +83,8 @@
 // Out of line virtual method.
 TargetPassConfig::~TargetPassConfig() {}
 
+// Out of line constructor provides default values for pass options and
+// registers all common codegen passes.
 TargetPassConfig::TargetPassConfig(TargetMachine *tm, PassManagerBase &pm)
   : ImmutablePass(ID), TM(tm), PM(pm), Initialized(false),
     DisableVerify(false),
@@ -257,7 +259,7 @@
 
   // Branch folding must be run after regalloc and prolog/epilog insertion.
   if (getOptLevel() != CodeGenOpt::None && !DisableBranchFold) {
-    PM.add(createBranchFoldingPass(getEnableTailMergeDefault()));
+    addPass(BranchFolderPassID);
     printNoVerify("After BranchFolding");
   }