Lines Matching refs:BD

71   BugDriver &BD;  member in llvm::ReducePassList
74 ReducePassList(BugDriver &bd) : BD(bd) {} in ReducePassList()
92 if (BD.runPasses(BD.getProgram(), Prefix, PrefixOutput)) in doTest()
95 OrigProgram = std::move(BD.Program); in doTest()
97 BD.Program = parseInputFile(PrefixOutput, BD.getContext()); in doTest()
98 if (BD.Program == nullptr) { in doTest()
99 errs() << BD.getToolName() << ": Error reading bitcode file '" in doTest()
109 if (BD.runPasses(BD.getProgram(), Suffix)) in doTest()
114 BD.Program = std::move(OrigProgram); in doTest()
125 BugDriver &BD; member in __anon411960bb0211::ReduceCrashingGlobalInitializers
130 : BD(bd), TestFn(testFn) {} in ReduceCrashingGlobalInitializers()
149 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestGlobalVariables()
174 if (TestFn(BD, M.get())) { in TestGlobalVariables()
175 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestGlobalVariables()
192 BugDriver &BD; member in __anon411960bb0311::ReduceCrashingFunctions
197 : BD(bd), TestFn(testFn) {} in ReduceCrashingFunctions()
238 if (KeepMain && !is_contained(Funcs, BD.getProgram().getFunction("main"))) in TestFuncs()
243 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestFuncs()
306 if (TestFn(BD, M.get())) { in TestFuncs()
307 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestFuncs()
323 BugDriver &BD; member in __anon411960bb0411::ReduceCrashingFunctionAttributes
330 : BD(bd), FnName(FnName), TestFn(testFn) {} in ReduceCrashingFunctionAttributes()
348 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in TestFuncAttrs()
358 NewAttrs.addAttributes(BD.getContext(), AttributeList::FunctionIndex, AB); in TestFuncAttrs()
364 if (TestFn(BD, M.get())) { in TestFuncAttrs()
365 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestFuncAttrs()
423 BugDriver &BD; member in __anon411960bb0511::ReduceCrashingBlocks
427 ReduceCrashingBlocks(BugDriver &BD, BugTester testFn) in ReduceCrashingBlocks() argument
428 : BD(BD), TestFn(testFn) {} in ReduceCrashingBlocks()
446 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
506 std::unique_ptr<Module> New = BD.runPassesOn(M.get(), Passes); in TestBlocks()
514 if (TestFn(BD, M.get())) { in TestBlocks()
515 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
520 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
540 BugDriver &BD; member in __anon411960bb0611::ReduceCrashingConditionals
546 : BD(bd), TestFn(testFn), Direction(Direction) {} in ReduceCrashingConditionals()
565 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
613 std::unique_ptr<Module> New = BD.runPassesOn(M.get(), Passes); in TestBlocks()
621 if (TestFn(BD, M.get())) { in TestBlocks()
622 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
627 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
645 BugDriver &BD; member in __anon411960bb0711::ReduceSimplifyCFG
651 : BD(bd), TestFn(testFn), TTI(bd.getProgram().getDataLayout()) {} in ReduceSimplifyCFG()
669 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestBlocks()
705 std::unique_ptr<Module> New = BD.runPassesOn(M.get(), Passes); in TestBlocks()
713 if (TestFn(BD, M.get())) { in TestBlocks()
714 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestBlocks()
719 const ValueSymbolTable &GST = BD.getProgram().getValueSymbolTable(); in TestBlocks()
737 BugDriver &BD; member in __anon411960bb0811::ReduceCrashingInstructions
742 : BD(bd), TestFn(testFn) {} in ReduceCrashingInstructions()
761 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestInsts()
795 if (TestFn(BD, M.get())) { in TestInsts()
796 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestInsts()
813 BugDriver &BD; member in __anon411960bb0911::ReduceCrashingNamedMD
818 : BD(bd), TestFn(testFn) {} in ReduceCrashingNamedMD()
836 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestNamedMDs()
870 if (TestFn(BD, M.get())) { in TestNamedMDs()
871 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestNamedMDs()
880 BugDriver &BD; member in __anon411960bb0a11::ReduceCrashingNamedMDOps
885 : BD(bd), TestFn(testFn) {} in ReduceCrashingNamedMDOps()
915 std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); in TestNamedMDOps()
919 for (auto &NamedMD : BD.getProgram().named_metadata()) { in TestNamedMDOps()
935 if (TestFn(BD, M.get())) { in TestNamedMDOps()
942 BD.setNewProgram(std::move(M)); // It crashed, keep the trimmed version... in TestNamedMDOps()
950 static Error ReduceGlobalInitializers(BugDriver &BD, BugTester TestFn) { in ReduceGlobalInitializers() argument
951 Module &OrigM = BD.getProgram(); in ReduceGlobalInitializers()
975 if (TestFn(BD, M.get())) { // Still crashes? in ReduceGlobalInitializers()
976 BD.setNewProgram(std::move(M)); in ReduceGlobalInitializers()
995 ReduceCrashingGlobalInitializers(BD, TestFn).reduceList(GVs); in ReduceGlobalInitializers()
1000 BD.EmitProgressBitcode(BD.getProgram(), "reduced-global-variables"); in ReduceGlobalInitializers()
1005 static Error ReduceInsts(BugDriver &BD, BugTester TestFn) { in ReduceInsts() argument
1010 for (const Function &F : BD.getProgram()) in ReduceInsts()
1017 ReduceCrashingInstructions(BD, TestFn).reduceList(Insts); in ReduceInsts()
1045 for (Module::const_iterator FI = BD.getProgram().begin(), in ReduceInsts()
1046 E = BD.getProgram().end(); in ReduceInsts()
1066 BD.deleteInstructionFromProgram(&*I, Simplification); in ReduceInsts()
1069 if (TestFn(BD, M.get())) { in ReduceInsts()
1072 BD.setNewProgram(std::move(M)); in ReduceInsts()
1085 BD.EmitProgressBitcode(BD.getProgram(), "reduced-instructions"); in ReduceInsts()
1092 static Error DebugACrash(BugDriver &BD, BugTester TestFn) { in DebugACrash() argument
1096 if (Error E = ReduceGlobalInitializers(BD, TestFn)) in DebugACrash()
1101 for (Function &F : BD.getProgram()) in DebugACrash()
1111 ReduceCrashingFunctions(BD, TestFn).reduceList(Functions); in DebugACrash()
1116 BD.EmitProgressBitcode(BD.getProgram(), "reduced-function"); in DebugACrash()
1121 for (Function &F : BD.getProgram()) in DebugACrash()
1131 Function *Fn = BD.getProgram().getFunction(Name); in DebugACrash()
1140 ReduceCrashingFunctionAttributes(BD, Name, TestFn).reduceList(Attrs); in DebugACrash()
1148 BD.EmitProgressBitcode(BD.getProgram(), "reduced-function-attributes"); in DebugACrash()
1155 for (Function &F : BD.getProgram()) in DebugACrash()
1160 ReduceCrashingConditionals(BD, TestFn, true).reduceList(Blocks); in DebugACrash()
1163 Result = ReduceCrashingConditionals(BD, TestFn, false).reduceList(Blocks); in DebugACrash()
1167 BD.EmitProgressBitcode(BD.getProgram(), "reduced-conditionals"); in DebugACrash()
1177 for (Function &F : BD.getProgram()) in DebugACrash()
1181 Expected<bool> Result = ReduceCrashingBlocks(BD, TestFn).reduceList(Blocks); in DebugACrash()
1185 BD.EmitProgressBitcode(BD.getProgram(), "reduced-blocks"); in DebugACrash()
1190 for (Function &F : BD.getProgram()) in DebugACrash()
1194 Expected<bool> Result = ReduceSimplifyCFG(BD, TestFn).reduceList(Blocks); in DebugACrash()
1198 BD.EmitProgressBitcode(BD.getProgram(), "reduced-simplifycfg"); in DebugACrash()
1204 if (Error E = ReduceInsts(BD, TestFn)) in DebugACrash()
1209 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in DebugACrash()
1211 if (TestFn(BD, M.get())) in DebugACrash()
1212 BD.setNewProgram(std::move(M)); in DebugACrash()
1229 for (auto &NamedMD : BD.getProgram().named_metadata()) in DebugACrash()
1232 ReduceCrashingNamedMD(BD, TestFn).reduceList(NamedMDNames); in DebugACrash()
1241 for (auto &NamedMD : BD.getProgram().named_metadata()) in DebugACrash()
1245 ReduceCrashingNamedMDOps(BD, TestFn).reduceList(NamedMDOps); in DebugACrash()
1249 BD.EmitProgressBitcode(BD.getProgram(), "reduced-named-md"); in DebugACrash()
1255 std::unique_ptr<Module> M = CloneModule(BD.getProgram()); in DebugACrash()
1256 M = BD.performFinalCleanups(std::move(M), true); in DebugACrash()
1259 if (M && TestFn(BD, M.get())) in DebugACrash()
1260 BD.setNewProgram( in DebugACrash()
1264 BD.EmitProgressBitcode(BD.getProgram(), "reduced-simplified"); in DebugACrash()
1269 static bool TestForOptimizerCrash(const BugDriver &BD, Module *M) { in TestForOptimizerCrash() argument
1270 return BD.runPasses(*M, BD.getPassesToRun()); in TestForOptimizerCrash()
1296 static bool TestForCodeGenCrash(const BugDriver &BD, Module *M) { in TestForCodeGenCrash() argument
1297 if (Error E = BD.compileProgram(*M)) { in TestForCodeGenCrash()