如何将修改后的 llvm 位码保存到给定的文件名?

奥伦·伊什沙洛姆

我已经成功地修改了从文件中读取的给定输入位码,这篇 SO post 中所述现在我想将它保存到一些输出 bitcode filename,类似于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;
}

非常感谢任何帮助,谢谢!

阿恩特

这样的事情应该做:

std::error_code ec;
ToolOutputFile result("myOutputBC.bc", ec, sys::fs::F_None);
WriteBitcodeToFile(*module, result.os());
result.keep();

请注意,如果您使用的是旧版本的 LLVM,则ToolOutputFile可能会调用tool_output_file.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将这些修改后的文件添加到.gitignore?

修改LLVM位码的指针大小

链接后如何获取位码llvm?

如何将修改后的文件的元数据设置为等于恢复图像的 created_on 值?

Nreco.VideoConverter,如何将转换后的文件名保存到数据库?

如何从LLVM指令获取文件名和目录?

如何将修改后的掩码值与原始值而不是掩码值一起保存到Azure SQL数据库中?

给定IR文件后,如何使LLVM opt输出IR文件?

将文件名保存到特定文件夹

如何识别LLVM位码中的循环?

如何将llvm模块转储到.ll文件

将 XmlWriter 文件名保存到变量

键盘快捷方式,将光标置于修改后的文件名的末尾

如何将GUID附加到现有文件名并保存到CSV

如何将应用程序设置保存到其他位置和文件名

将修改后的数据保存在CloudKit中

在git stash中列出修改后的文件名

使用 Pandas 将日期时间附加到文件名后保存到 csv 文件

在Android中使用“文件文件=新文件(文件名)”将文件保存到何处

如何在没有 llvm 生成器工具的情况下生成 LLVM 位码?

如何在 SAS 上保存修改后的数据集?

如何在 Chrome 上保存修改后的样式?

从Java解析LLVM位码

Maven如何仅编译修改后的Java文件?

Grunt:如何仅对修改后的文件运行任务?

我们可以将文件名修改后的文件添加到zip存档中吗

使用 Geotools 将修改后的形状内容保存到 PostGIS 失败并出现 NullPointerException

如何有效地仅将修改后的文件从磁盘复制到外部USB?

如何使用 FPDF 将唯一文件名保存到目录?