Previous: Sharing, Up: RTL


10.22 读取RTL

若要从文件中读取RTL对象,可以调用read_rtx。 它接受一个参数,stdio标准输入输出流,并且返回一个RTL对象。 该函数在read-rtl.c中定义。 它只在通过机器描述来生成编译器后端的各种程序中使用,编译器本身并没有用到。

人们经常想到使用以文本方式存储在文件中的RTL来作为语言前端和GCC主干之间的接口。 这种想法其实是不可行的。

GCC一度被设计为只是在内部使用RTL。对于给定的程序, RTL正确与否与特定的目标机器非常有关系。而且RTL并不包含程序的所有信息。

对于GCC和一个新语言前端接口的恰当方式, 是使用在文件tree.htree.def中描述的“tree”数据结构。 关于该结构的文档(参见GENERIC)不是很全面。