Gcc DragonEgg是否支持-fno-builtin-in-clang之类的参数?

Gcc DragonEgg是否支持-fno-builtin-in-clang之类的参数?,gcc,llvm,Gcc,Llvm,我已经使用clang很长时间了,我可以使用clang-fno-builtin-emit llvm-c hello.c来防止生成llvm内置函数,例如llvm.memset 最近,我用DragonEgg切换到gcc,因为要构建的程序最初设计为用gcc编译。我在网上搜索过,但没有找到关于如何设置DragonEgg参数的任何信息 谁能帮我一下吗?欢迎任何提示或参考。谢谢 我已经找到了一种方法,可以自己使用gcc+DragonEgg来实现类似的效果 gcc -S -c -O0 -fplugin=$(DR

我已经使用clang很长时间了,我可以使用
clang-fno-builtin-emit llvm-c hello.c
来防止生成llvm内置函数,例如
llvm.memset

最近,我用DragonEgg切换到gcc,因为要构建的程序最初设计为用gcc编译。我在网上搜索过,但没有找到关于如何设置DragonEgg参数的任何信息


谁能帮我一下吗?欢迎任何提示或参考。谢谢

我已经找到了一种方法,可以自己使用
gcc
+
DragonEgg
来实现类似的效果

gcc -S -c -O0 -fplugin=$(DRAGONEGG_SO) -fplugin-arg-dragonegg-emit-ir hello.c -o hello.bc
opt -O3 -disable-simplify-libcalls hello.bc -o hello.bc
$(DRAGONEGG\u SO)
是通往
DRAGONEGG.SO的路径

基本上,LLVM内部函数是通过优化过程
instcombine
添加的。使用
-disable simplify libcalls
,可以防止在
instcombine
中生成LLVM内部函数

该方法还应适用于
llvm gcc
,以便在不使用llvm内部函数的情况下生成llvm IR