Мне успешно удалось изменить заданный входной битовый код, который был прочитан из файла , как описано в этом сообщении SO .Теперь я хочу сохранить его в какое-нибудь имя выходного файла с битовым кодом , что-то похожее на saveIRFile(module,"myOutputBC.bc");
.Вот файл main.cpp
, который я использую, но я не могу найти подходящий API для сохранения.
/**********************/
/* LLVM INCLUDE FILES */
/**********************/
#include "llvm/IR/Module.h"
#include "llvm/IRReader/IRReader.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/IR/LLVMContext.h"
/**************/
/* NAMESPACES */
/**************/
using namespace std;
using namespace llvm;
int main(int argc, char **argv)
{
LLVMContext ctx;
SMDiagnostic Err;
unique_ptr<Module> M = parseIRFile(argv[1],Err,ctx);
if (M)
{
Module *module = M.get();
for (auto
func = module->begin();
func != module->end();
func++)
{
errs() << func->getName() << "\n";
// modify func's basic blocks ...
// and save with saveIRFile(module,"myOutputBC.bc");
}
}
return 0;
}
Любая помощь очень ценится, спасибо!