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

How do I make LLVM opt output an IR file when given an IR file?

我使用 LLVM opt 来 运行 使用例如 opt -load libMyPass.so my-pass foo.ll > foo1.ll.

foo.ll 是一个 IR 文件,我希望 foo1.ll 以 IR 格式包含 运行 传递的结果。但是 foo1.ll 变成了 bitcode 文件,所以我需要发出 llvm-dis foo1.ll 把它转换成 IR 格式。

如何避免 运行 llvm-dis,并使 opt 从 IR 格式转换为 IR 格式?

opt 有一个不错的选择:

-S           - Write output as LLVM assembly

我想您感到困惑的是 LLVM 程序集是 LLVM IR 的同义词。