#include "llvm/Analysis/Verifier.h"
#include "llvm/Support/Mangler.h"
#include "llvm/Transforms/Utils/Cloning.h"
-#include "llvm/Transforms/Utils/Linker.h"
+#include "llvm/Support/Linker.h"
#include "Support/CommandLine.h"
#include "Support/FileUtilities.h"
using namespace llvm;
if (!DeleteInputs) M1 = CloneModule(M1);
if (LinkModules(M1, M2, &ErrorMsg)) {
std::cerr << BD.getToolName() << ": Error linking modules together:"
- << ErrorMsg << "\n";
+ << ErrorMsg << '\n';
exit(1);
}
if (DeleteInputs) delete M2; // We are done with this module...
<< " run through the pass"
<< (BD.getPassesToRun().size() == 1 ? "" : "es") << ":";
PrintFunctionList(Funcs);
- std::cout << "\n";
+ std::cout << '\n';
// Split the module into the two halves of the program we want.
Module *ToNotOptimize = CloneModule(BD.getProgram());
std::string ErrorMsg;
if (LinkModules(ToNotOptimize, ToOptimizeLoopExtracted, &ErrorMsg)) {
std::cerr << BD.getToolName() << ": Error linking modules together:"
- << ErrorMsg << "\n";
+ << ErrorMsg << '\n';
exit(1);
}
} else {
std::cout << "blocks are extracted.";
}
- std::cout << "\n";
+ std::cout << '\n';
// Split the module into the two halves of the program we want.
Module *ToNotOptimize = CloneModule(BD.getProgram());
std::string ErrorMsg;
if (LinkModules(ProgClone, Extracted, &ErrorMsg)) {
std::cerr << BD.getToolName() << ": Error linking modules together:"
- << ErrorMsg << "\n";
+ << ErrorMsg << '\n';
exit(1);
}
<< (MiscompiledFunctions.size() == 1 ? " is" : "s are")
<< " being miscompiled: ";
PrintFunctionList(MiscompiledFunctions);
- std::cout << "\n";
+ std::cout << '\n';
// See if we can rip any loops out of the miscompiled functions and still
// trigger the problem.
<< (MiscompiledFunctions.size() == 1 ? " is" : "s are")
<< " being miscompiled: ";
PrintFunctionList(MiscompiledFunctions);
- std::cout << "\n";
+ std::cout << '\n';
}
if (ExtractBlocks(BD, TestFn, MiscompiledFunctions)) {
<< (MiscompiledFunctions.size() == 1 ? " is" : "s are")
<< " being miscompiled: ";
PrintFunctionList(MiscompiledFunctions);
- std::cout << "\n";
+ std::cout << '\n';
}
return MiscompiledFunctions;
std::cout << "\n*** Found miscompiling pass"
<< (getPassesToRun().size() == 1 ? "" : "es") << ": "
- << getPassesString(getPassesToRun()) << "\n";
+ << getPassesString(getPassesToRun()) << '\n';
EmitProgressBytecode("passinput");
std::vector<Function*> MiscompiledFunctions =
// GetElementPtr *funcName, ulong 0, ulong 0
std::vector<Constant*> GEPargs(2,Constant::getNullValue(Type::IntTy));
Value *GEP =
- ConstantExpr::getGetElementPtr(ConstantPointerRef::get(funcName),
- GEPargs);
+ ConstantExpr::getGetElementPtr(funcName, GEPargs);
std::vector<Value*> ResolverArgs;
ResolverArgs.push_back(GEP);
}
for (unsigned i=0, e = InputArgv.size(); i != e; ++i)
std::cout << " " << InputArgv[i];
- std::cout << "\n";
+ std::cout << '\n';
std::cout << "The shared object was created with:\n llc -march=c "
<< SafeModuleBC << " -o temporary.c\n"
<< " gcc -xc temporary.c -O2 -o " << SharedObject