精选优质文档-倾情为你奉上GCC的优化编译过程(version4)GCC的编译过程可分为4个子过程,包括Parsing pass、Gimplifcation pass、Tree SSA passes、RTL passes 。在这四个子过程中,GCC优化主要在Tree SSA passes和RTL passes中进行。1、SSA 优化(1)删除无用语句(Remove useless statements) 该过程对gimple代码进行非常简单的扫描,识别出明显的死代码并删除。我们在这里做的一些事情包括,简化具有不变条件的if语句,删除对显然不会抛出异常的代码所做的异常处理,删除不含有变量的词法绑定(lexical bindings),以及其它各种简单的清除。这是为了能够快速的去掉一些显而易见的东西,而不是等到后面去花费更多的功夫。该过程在tree-cfg.c中,并且由pass_remove_useless_stmts来描述。(2)死代码消除(Dead code elimination) 该过程扫描函数来寻找没有副作用,且结果没有被使用的语句。它不进行内