From bc2ed599e877b9d76bd548546019f98ae256fe9b Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 21 Jun 2010 02:17:36 +0000 Subject: Save more temps with -save-temps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106409 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/Miscompilation.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'tools/bugpoint/Miscompilation.cpp') diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp index 7094390464..b2581d1a46 100644 --- a/tools/bugpoint/Miscompilation.cpp +++ b/tools/bugpoint/Miscompilation.cpp @@ -894,6 +894,8 @@ static bool TestCodeGenerator(BugDriver &BD, Module *Test, Module *Safe, } delete Test; + FileRemover TestModuleBCRemover(TestModuleBC, !SaveTemps); + // Make the shared library sys::Path SafeModuleBC("bugpoint.safe.bc"); if (SafeModuleBC.makeUnique(true, &ErrMsg)) { @@ -907,11 +909,16 @@ static bool TestCodeGenerator(BugDriver &BD, Module *Test, Module *Safe, << "'\nExiting."; exit(1); } + + FileRemover SafeModuleBCRemover(SafeModuleBC, !SaveTemps); + std::string SharedObject = BD.compileSharedObject(SafeModuleBC.str(), Error); if (!Error.empty()) return false; delete Safe; + FileRemover SharedObjectRemover(sys::Path(SharedObject), !SaveTemps); + // Run the code generator on the `Test' code, loading the shared library. // The function returns whether or not the new output differs from reference. bool Result = BD.diffProgram(TestModuleBC.str(), SharedObject, false, &Error); @@ -922,9 +929,6 @@ static bool TestCodeGenerator(BugDriver &BD, Module *Test, Module *Safe, errs() << ": still failing!\n"; else errs() << ": didn't fail.\n"; - TestModuleBC.eraseFromDisk(); - SafeModuleBC.eraseFromDisk(); - sys::Path(SharedObject).eraseFromDisk(); return Result; } -- cgit v1.2.3