Lines Matching refs:Module
131 std::unique_ptr<Module> PrefixOutput( in doTest()
148 std::unique_ptr<Module> OriginalInput( in doTest()
179 bool (*TestFn)(BugDriver &, Module *, Module *, std::string &);
182 bool (*F)(BugDriver &, Module *, Module *, in ReduceMiscompilingFunctions() argument
217 static Module *TestMergedProgram(const BugDriver &BD, Module *M1, Module *M2, in TestMergedProgram()
266 Module *Clone = CloneModule(BD.getProgram(), VMap); in TestFuncs()
267 Module *Orig = BD.swapProgramIn(Clone); in TestFuncs()
277 Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap); in TestFuncs()
278 Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, FuncsOnClone, in TestFuncs()
291 static void DisambiguateGlobalSymbols(Module *M) { in DisambiguateGlobalSymbols()
292 for (Module::global_iterator I = M->global_begin(), E = M->global_end(); in DisambiguateGlobalSymbols()
296 for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) in DisambiguateGlobalSymbols()
306 bool (*TestFn)(BugDriver &, Module *, Module *, in ExtractLoops() argument
315 Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap); in ExtractLoops()
316 Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, in ExtractLoops()
319 Module *ToOptimizeLoopExtracted = BD.ExtractLoop(ToOptimize); in ExtractLoops()
337 Module *New = TestMergedProgram(BD, ToOptimizeLoopExtracted, ToNotOptimize, in ExtractLoops()
343 Module *Old = BD.swapProgramIn(New); in ExtractLoops()
375 Module *TOLEBackup = CloneModule(ToOptimizeLoopExtracted, VMap); in ExtractLoops()
376 Module *TNOBackup = CloneModule(ToNotOptimize, VMap); in ExtractLoops()
424 for (Module::iterator I = ToOptimizeLoopExtracted->begin(), in ExtractLoops()
462 bool (*TestFn)(BugDriver &, Module *, Module *, std::string &);
466 bool (*F)(BugDriver &, Module *, Module *, in ReduceMiscompiledBlocks() argument
515 Module *Clone = CloneModule(BD.getProgram(), VMap); in TestFuncs()
516 Module *Orig = BD.swapProgramIn(Clone); in TestFuncs()
529 Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap); in TestFuncs()
530 Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, in TestFuncs()
536 if (Module *New = BD.ExtractMappedBlocksFromModule(BBsOnClone, ToOptimize)) { in TestFuncs()
556 bool (*TestFn)(BugDriver &, Module *, Module *, in ExtractBlocks() argument
590 Module *ProgClone = CloneModule(BD.getProgram(), VMap); in ExtractBlocks()
591 Module *ToExtract = SplitFunctionsOutOfModule(ProgClone, in ExtractBlocks()
594 Module *Extracted = BD.ExtractMappedBlocksFromModule(Blocks, ToExtract); in ExtractBlocks()
608 for (Module::iterator I = Extracted->begin(), E = Extracted->end(); in ExtractBlocks()
644 bool (*TestFn)(BugDriver &, Module *, Module *, in DebugAMiscompilation() argument
652 Module *Prog = BD.getProgram(); in DebugAMiscompilation()
653 for (Module::iterator I = Prog->begin(), E = Prog->end(); I != E; ++I) in DebugAMiscompilation()
728 static bool TestOptimizer(BugDriver &BD, Module *Test, Module *Safe, in TestOptimizer()
733 Module *Optimized = BD.runPassesOn(Test, BD.getPassesToRun(), in TestOptimizer()
740 Module *New = TestMergedProgram(BD, Optimized, Safe, true, Error, Broken); in TestOptimizer()
777 Module *ToNotOptimize = CloneModule(getProgram(), VMap); in debugMiscompilation()
778 Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, in debugMiscompilation()
796 static void CleanupAndPrepareModules(BugDriver &BD, Module *&Test, in CleanupAndPrepareModules()
797 Module *Safe) { in CleanupAndPrepareModules()
851 for (Module::iterator F = Safe->begin(), E = Safe->end(); F != E; ++F) { in CleanupAndPrepareModules()
961 static bool TestCodeGenerator(BugDriver &BD, Module *Test, Module *Safe, in TestCodeGenerator()
1053 Module *ToNotCodeGen = CloneModule(getProgram(), VMap); in debugCodeGenerator()
1054 Module *ToCodeGen = SplitFunctionsOutOfModule(ToNotCodeGen, Funcs, VMap); in debugCodeGenerator()