Lines Matching defs:BD

47     BugDriver &BD;
49 ReducePassList(BugDriver &bd) : BD(bd) {}
71 if (BD.runPasses(BD.getProgram(), Prefix, PfxOutput))
75 OrigProgram = BD.Program;
77 BD.Program = ParseInputFile(PrefixOutput.str(), BD.getContext());
78 if (BD.Program == 0) {
79 errs() << BD.getToolName() << ": Error reading bitcode file '"
89 if (BD.runPasses(BD.getProgram(), Suffix)) {
96 delete BD.Program;
97 BD.Program = OrigProgram;
108 BugDriver &BD;
113 : BD(bd), TestFn(testFn) {}
134 Module *M = CloneModule(BD.getProgram(), VMap);
159 if (TestFn(BD, M)) {
160 BD.setNewProgram(M); // It crashed, keep the trimmed version...
178 BugDriver &BD;
183 : BD(bd), TestFn(testFn) {}
203 BD.getProgram()->getFunction("main")) == Funcs.end())
208 Module *M = CloneModule(BD.getProgram(), VMap);
231 if (TestFn(BD, M)) {
232 BD.setNewProgram(M); // It crashed, keep the trimmed version...
251 BugDriver &BD;
256 : BD(bd), TestFn(testFn) {}
275 Module *M = CloneModule(BD.getProgram(), VMap);
326 Module *New = BD.runPassesOn(M, Passes);
335 if (TestFn(BD, M)) {
336 BD.setNewProgram(M); // It crashed, keep the trimmed version...
360 BugDriver &BD;
365 : BD(bd), TestFn(testFn) {}
385 Module *M = CloneModule(BD.getProgram(), VMap);
418 if (TestFn(BD, M)) {
419 BD.setNewProgram(M); // It crashed, keep the trimmed version...
436 static bool DebugACrash(BugDriver &BD,
442 BD.getProgram()->global_begin() != BD.getProgram()->global_end()) {
445 Module *M = CloneModule(BD.getProgram());
462 if (TestFn(BD, M)) { // Still crashes?
463 BD.setNewProgram(M);
471 for (Module::global_iterator I = BD.getProgram()->global_begin(),
472 E = BD.getProgram()->global_end(); I != E; ++I)
481 ReduceCrashingGlobalVariables(BD, TestFn).reduceList(GVs, Error);
486 BD.EmitProgressBitcode(BD.getProgram(), "reduced-global-variables");
494 for (Module::iterator I = BD.getProgram()->begin(),
495 E = BD.getProgram()->end(); I != E; ++I)
504 ReduceCrashingFunctions(BD, TestFn).reduceList(Functions, Error);
507 BD.EmitProgressBitcode(BD.getProgram(), "reduced-function");
517 for (Module::const_iterator I = BD.getProgram()->begin(),
518 E = BD.getProgram()->end(); I != E; ++I)
522 ReduceCrashingBlocks(BD, TestFn).reduceList(Blocks, Error);
524 BD.EmitProgressBitcode(BD.getProgram(), "reduced-blocks");
531 for (Module::const_iterator MI = BD.getProgram()->begin(),
532 ME = BD.getProgram()->end(); MI != ME; ++MI)
540 ReduceCrashingInstructions(BD, TestFn).reduceList(Insts, Error);
566 for (Module::const_iterator FI = BD.getProgram()->begin(),
567 E = BD.getProgram()->end(); FI != E; ++FI)
582 Module *M = BD.deleteInstructionFromProgram(I, Simplification);
585 if (TestFn(BD, M)) {
588 BD.setNewProgram(M);
610 Module *M = CloneModule(BD.getProgram());
611 M = BD.performFinalCleanups(M, true);
614 if (TestFn(BD, M)) {
615 BD.setNewProgram(M); // Yup, it does, keep the reduced version...
621 BD.EmitProgressBitcode(BD.getProgram(), "reduced-simplified");
626 static bool TestForOptimizerCrash(const BugDriver &BD, Module *M) {
627 return BD.runPasses(M);
654 static bool TestForCodeGenCrash(const BugDriver &BD, Module *M) {
656 BD.compileProgram(M, &Error);