我正忙于测试Pascal LLMV编译器: https://gitlab.com/mseide-msegui/mselang
一切正常,MSElang编译器生成一个位码文件(helloworld.bc
)。
但是当尝试使用opt编译该bc
文件时,会出现该错误消息
在opt编译器中收到+-900行消息。
/usr/bin/opt: /home/fred/mlctest/hellomlc.bc: error: input module is broken!
问题出在哪里,你有什么想法吗?
答案 0 :(得分:0)
你好。
更多信息...
MSIlang生成的.bc(位代码)文件被lli(llvm解释器和动态编译器)完全识别。
查看图片: bc file interpreted by lli
但是我尝试用llc编译它:
llc /home/fred/mlctest/hellomlc.bc
大量消息后仍然有错误消息:
llc: /home/fred/mlctest/hellomlc.bc: error: input module is broken!
怎么了?
答案 1 :(得分:0)
无论是什么错误,通常都可以通过在编写模块之前调用verifyFunction()和/或verifyModule()来轻松定位。这些功能报告可操作的详细信息。
VerifyModule()调用verifyFunction(),因此您不一定严格需要verifyFunction(),但是一旦生成函数并断言它返回false,就可以方便地调用verifyFunction()。这样一来,您会收到一条或几条有用的消息,而不是泛洪的verifyModule()可能会给您。