技术特征:
1.一种c语言编译效率优化的方法,其特征在于,包括如下的步骤:
s1、获取每个节点中的节点信息,对节点信息进行保存;
S2、根据节点中指令的引用关系,找出每个节点的前置节点和引用节点,
S3、获取位于第一个节点的所有依赖节点,把第一个节点向下移动到有依赖节点时停止下沉,重复该步骤操作;
S4、获取位于最后一个节点的所有依赖节点,把第一个节点向上移动到有依赖节点时停止上移,重复该步骤操作;
S5、删除每个节点中的无效指令。
2.根据权利要求1所述的c语言编译效率优化的方法,其特征在于,所述的节点信息包括有指令编号、指令的各操作数、返回值的类型、指令类型、及指令的引用关系。
3.根据权利要求1所述的c语言编译效率优化的方法,其特征在于,所述s5的删除每个节点中的无效指令包括如下步骤:
S51、删除所有节点中开始的movelw指令,开始位置的movelw指令是常量移动到工作寄存器的指令,这些指令cf无效对于工作寄存器来说没有影响;
S52、删除所有节点中连续的movfw_es指令和movwf_es指令;
S53、删除所有节点中连续的movewf指令,因为两条连续的移动变量至工作寄存器,只有最后一条才会影响到工作寄存器,前面的都可以删除。
4.根据权利要求1所述的C语言编译效率优化的方法,其特征在于,所述前置节点是指一个节点的运行需要依赖的位于其前面的节点;所述引用节点是指在一个节点中引用的其它节点,两个节点相互构成为依赖节点。