Optimization 编写LLVM通行证

Optimization 编写LLVM通行证,optimization,llvm,clang,bytecode,Optimization,Llvm,Clang,Bytecode,我正在尝试使用 但我有几个问题: 我没有很多在指南(lib/Transform/Hello)和(Debug+Asserts)中指明的文件夹,我已经创建了它们,对吗?正确的道路是什么? 我创建了这些:/usr/lib/llvm-2.9/lib/Transforms/Hello和/usr/lib/llvm-2.9/Debug+断言 当我尝试在指南中创建文件时,出现错误: 我还将其他行修改为Makefile.common: ifndef LLVM_SRC_ROOT include $(LEVEL

我正在尝试使用
但我有几个问题:

  • 我没有很多在指南(lib/Transform/Hello)和(Debug+Asserts)中指明的文件夹,我已经创建了它们,对吗?正确的道路是什么? 我创建了这些:/usr/lib/llvm-2.9/lib/Transforms/Hello和/usr/lib/llvm-2.9/Debug+断言

  • 当我尝试在指南中创建文件时,出现错误:

我还将其他行修改为Makefile.common:

ifndef LLVM_SRC_ROOT
include $(LEVEL)/Makefile.rules
else
include $(LLVM_SRC_ROOT)/Makefile.rules
endif
因为它找不到Makefile.rules(以这种方式工作)

但是现在,当我进入包含hello.c文件(/usr/lib/llvm-2.9/lib/Transforms/hello)的文件夹时,出现了这个错误:


怎么了

显然,您正在尝试使用库的二进制文件进行开发。不幸的是,这行不通。您需要下载源代码,构建它们,然后开始开发自己的pass


此外,2.9已经太古老了。考虑至少升级到3版本。

我在某处读到:“不设置LLVMLBS,LLVM文档有这个错误的LLVMLBBS=LLVMCAR.LLVMPLAIL.LLVM系统。”“这是真的吗?”“你需要下载源代码,构建它们”是什么意思?我在哪里可以下载它们?好的,谢谢!!,但是现在我又遇到了另一个问题,当我尝试生成时,我收到了这个错误:../../../../../Makefile.common:61:../../../../Makefile.config:没有这样的文件或目录../../Makefile.common:69:/Makefile.rules:没有这样的文件或目录生成:**没有生成目标“/Makefile.rules”的规则。停止我读了另一篇关于这个问题的帖子,但我不明白如何解决这个问题。不要忘了在make之前运行configure。但是现在当我为pass示例make时应该是正确的,我收到了以下错误:~/llvm-3.0.src/lib/Transforms/Hello$make llvm[0]:编译Hello.cpp以进行发布构建(PIC)Hello.cpp:20:10:错误:使用类模板RegisterPass需要模板参数静态RegisterPass X(“Hello”,“Hello-World-Pass”,false,false);^在Hello.cpp:1中包含的文件中:在/home/nichis/llvm-3.0.src/include/llvm/Pass.h:368:/home/nichis/llvm-3.0.src/include/llvm/PassSupport.h:198:8中包含的文件中:注意:此处声明了模板结构RegisterPass:public PassInfo{^Hello.cpp:20:23:错误:标量初始值设定项静态RegisterPass X中的元素过多(“Hello”,“你好,世界通行证”,假,假);^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~生成了2个错误。为什么?
ifndef LLVM_SRC_ROOT
include $(LEVEL)/Makefile.rules
else
include $(LLVM_SRC_ROOT)/Makefile.rules
endif
make: ***  No rule to make target "/configure", needed by "/config.status".  Stop.