Lines Matching refs:BD
87 BugDriver &BD; member in llvm::ReducePassList
90 ReducePassList(BugDriver &bd) : BD(bd) {} in ReducePassList()
108 if (BD.runPasses(BD.getProgram(), Prefix, PrefixOutput)) in doTest()
111 OrigProgram = std::move(BD.Program); in doTest()
113 BD.Program = parseInputFile(PrefixOutput, BD.getContext()); in doTest()
114 if (BD.Program == nullptr) { in doTest()
115 errs() << BD.getToolName() << ": Error reading bitcode file '" in doTest()
125 if (BD.runPasses(BD.getProgram(), Suffix)) in doTest()
130 BD.Program = std::move(OrigProgram); in doTest()
141 BugDriver &BD; member in __anon1e075dd70211::ReduceCrashingGlobalInitializers
146 : BD(bd), TestFn(testFn) {} in ReduceCrashingGlobalInitializers()
165 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestGlobalVariables()
190 if (TestFn(BD, M.get())) { in TestGlobalVariables()
191 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestGlobalVariables()
208 BugDriver &BD; member in __anon1e075dd70311::ReduceCrashingFunctions
213 : BD(bd), TestFn(testFn) {} in ReduceCrashingFunctions()
254 if (KeepMain && !is_contained(Funcs, BD.getProgram().getFunction("main"))) in TestFuncs()
259 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestFuncs()
322 if (TestFn(BD, M.get())) { in TestFuncs()
323 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestFuncs()
339 BugDriver &BD; member in __anon1e075dd70411::ReduceCrashingFunctionAttributes
346 : BD(bd), FnName(FnName), TestFn(testFn) {} in ReduceCrashingFunctionAttributes()
364 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in TestFuncAttrs()
373 NewAttrs = NewAttrs.addFnAttributes(BD.getContext(), AB); in TestFuncAttrs()
388 if (TestFn(BD, M.get())) { in TestFuncAttrs()
389 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestFuncAttrs()
447 BugDriver &BD; member in __anon1e075dd70511::ReduceCrashingBlocks
451 ReduceCrashingBlocks(BugDriver &BD, BugTester testFn) in ReduceCrashingBlocks() argument
452 : BD(BD), TestFn(testFn) {} in ReduceCrashingBlocks()
470 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
532 if (TestFn(BD, M.get())) { in TestBlocks()
533 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
538 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
558 BugDriver &BD; member in __anon1e075dd70611::ReduceCrashingConditionals
564 : BD(bd), TestFn(testFn), Direction(Direction) {} in ReduceCrashingConditionals()
583 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
633 if (TestFn(BD, M.get())) { in TestBlocks()
634 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
639 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
657 BugDriver &BD; member in __anon1e075dd70711::ReduceSimplifyCFG
663 : BD(bd), TestFn(testFn), TTI(bd.getProgram().getDataLayout()) {} in ReduceSimplifyCFG()
681 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
719 if (TestFn(BD, M.get())) { in TestBlocks()
720 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
725 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
743 BugDriver &BD; member in __anon1e075dd70811::ReduceCrashingInstructions
748 : BD(bd), TestFn(testFn) {} in ReduceCrashingInstructions()
767 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestInsts()
798 if (TestFn(BD, M.get())) { in TestInsts()
799 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestInsts()
817 BugDriver &BD; member in __anon1e075dd70911::ReduceCrashingMetadata
822 : BD(bd), TestFn(testFn) {} in ReduceCrashingMetadata()
840 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestInsts()
868 if (TestFn(BD, M.get())) { in TestInsts()
869 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestInsts()
886 BugDriver &BD; member in __anon1e075dd70a11::ReduceCrashingNamedMD
891 : BD(bd), TestFn(testFn) {} in ReduceCrashingNamedMD()
909 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestNamedMDs()
941 if (TestFn(BD, M.get())) { in TestNamedMDs()
942 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestNamedMDs()
951 BugDriver &BD; member in __anon1e075dd70b11::ReduceCrashingNamedMDOps
956 : BD(bd), TestFn(testFn) {} in ReduceCrashingNamedMDOps()
986 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestNamedMDOps()
990 for (auto &NamedMD : BD.getProgram().named_metadata()) { in TestNamedMDOps()
1004 if (TestFn(BD, M.get())) { in TestNamedMDOps()
1011 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestNamedMDOps()
1019 static Error ReduceGlobalInitializers(BugDriver &BD, BugTester TestFn) { in ReduceGlobalInitializers() argument
1020 Module &OrigM = BD.getProgram(); in ReduceGlobalInitializers()
1044 if (TestFn(BD, M.get())) { // Still crashes? in ReduceGlobalInitializers()
1045 BD.setNewProgram(std::move(M)); in ReduceGlobalInitializers()
1064 ReduceCrashingGlobalInitializers(BD, TestFn).reduceList(GVs); in ReduceGlobalInitializers()
1069 BD.EmitProgressBitcode(BD.getProgram(), "reduced-global-variables"); in ReduceGlobalInitializers()
1074 static Error ReduceInsts(BugDriver &BD, BugTester TestFn) { in ReduceInsts() argument
1079 for (const Function &F : BD.getProgram()) in ReduceInsts()
1086 ReduceCrashingInstructions(BD, TestFn).reduceList(Insts); in ReduceInsts()
1114 for (Module::const_iterator FI = BD.getProgram().begin(), in ReduceInsts()
1115 E = BD.getProgram().end(); in ReduceInsts()
1135 BD.deleteInstructionFromProgram(&*I, Simplification); in ReduceInsts()
1138 if (TestFn(BD, M.get())) { in ReduceInsts()
1141 BD.setNewProgram(std::move(M)); in ReduceInsts()
1159 for (Function &F : BD.getProgram()) in ReduceInsts()
1164 ReduceCrashingMetadata(BD, TestFn).reduceList(Insts); in ReduceInsts()
1169 BD.EmitProgressBitcode(BD.getProgram(), "reduced-instructions"); in ReduceInsts()
1176 static Error DebugACrash(BugDriver &BD, BugTester TestFn) { in DebugACrash() argument
1180 if (Error E = ReduceGlobalInitializers(BD, TestFn)) in DebugACrash()
1185 for (Function &F : BD.getProgram()) in DebugACrash()
1195 ReduceCrashingFunctions(BD, TestFn).reduceList(Functions); in DebugACrash()
1200 BD.EmitProgressBitcode(BD.getProgram(), "reduced-function"); in DebugACrash()
1206 for (Function &F : BD.getProgram()) in DebugACrash()
1216 Function *Fn = BD.getProgram().getFunction(Name); in DebugACrash()
1225 ReduceCrashingFunctionAttributes(BD, Name, TestFn).reduceList(Attrs); in DebugACrash()
1233 BD.EmitProgressBitcode(BD.getProgram(), "reduced-function-attributes"); in DebugACrash()
1241 for (Function &F : BD.getProgram()) in DebugACrash()
1246 ReduceCrashingConditionals(BD, TestFn, true).reduceList(Blocks); in DebugACrash()
1249 Result = ReduceCrashingConditionals(BD, TestFn, false).reduceList(Blocks); in DebugACrash()
1253 BD.EmitProgressBitcode(BD.getProgram(), "reduced-conditionals"); in DebugACrash()
1263 for (Function &F : BD.getProgram()) in DebugACrash()
1267 Expected<bool> Result = ReduceCrashingBlocks(BD, TestFn).reduceList(Blocks); in DebugACrash()
1271 BD.EmitProgressBitcode(BD.getProgram(), "reduced-blocks"); in DebugACrash()
1276 for (Function &F : BD.getProgram()) in DebugACrash()
1280 Expected<bool> Result = ReduceSimplifyCFG(BD, TestFn).reduceList(Blocks); in DebugACrash()
1284 BD.EmitProgressBitcode(BD.getProgram(), "reduced-simplifycfg"); in DebugACrash()
1290 if (Error E = ReduceInsts(BD, TestFn)) in DebugACrash()
1295 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in DebugACrash()
1297 if (TestFn(BD, M.get())) in DebugACrash()
1298 BD.setNewProgram(std::move(M)); in DebugACrash()
1315 for (auto &NamedMD : BD.getProgram().named_metadata()) in DebugACrash()
1318 ReduceCrashingNamedMD(BD, TestFn).reduceList(NamedMDNames); in DebugACrash()
1327 for (auto &NamedMD : BD.getProgram().named_metadata()) in DebugACrash()
1331 ReduceCrashingNamedMDOps(BD, TestFn).reduceList(NamedMDOps); in DebugACrash()
1335 BD.EmitProgressBitcode(BD.getProgram(), "reduced-named-md"); in DebugACrash()
1341 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in DebugACrash()
1342 M = BD.performFinalCleanups(std::move(M), true); in DebugACrash()
1345 if (M && TestFn(BD, M.get())) in DebugACrash()
1346 BD.setNewProgram( in DebugACrash()
1350 BD.EmitProgressBitcode(BD.getProgram(), "reduced-simplified"); in DebugACrash()
1355 static bool TestForOptimizerCrash(const BugDriver &BD, Module *M) { in TestForOptimizerCrash() argument
1356 return BD.runPasses(*M, BD.getPassesToRun()); in TestForOptimizerCrash()
1396 static bool TestForCodeGenCrash(const BugDriver &BD, Module *M) { in TestForCodeGenCrash() argument
1397 if (Error E = BD.compileProgram(*M)) { in TestForCodeGenCrash()