llc:指定的位置参数太多(从 llvm-ir 生成程序集时出错)

llc: Too many positional arguments specified (error generating assembly from llvm-ir)

我在使用 llc for llvm 时遇到错误,我刚刚使用 HomeBrew 安装在 Mac 上。

$ llc –o malloc.s malloc.ll
llc: Too many positional arguments specified!
Can specify at most 1 positional arguments: See: llc --help

我生成了一个 malloc.ll 文件,如下所示:

$ clang -emit-llvm -S malloc.c -o malloc.ll

如何设置它以发出程序集?

llc --help 输出表示使用 -o=<filename>,而不是像 -ofilename 这样的两个单独的参数。

所以在解析它的命令行时,它看到两个不以-开头的选项:malloc.smalloc.ll,并抱怨这种情况。大概他们正在滚动他们自己的命令行处理而不是使用 getopt,或者他们故意不想支持以下 arg 被像 -o.

这样的 arg 使用的样式