·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发者手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | RHEL | Ubuntu | Apache | MySQL | PHP
  Linux时代 >> 技术文档 >> 程序开发
 
GCC-4.1.0发布
来源: ChinaUnix博客  日期: 2008.04.14 16:21 (共有条评论) 我要评论
 

这一版本重点在于过程间优化(IPO)框架和相应的优化实现:

  • 基于剖视的内联,对于一些递归深度小的函数也可以实现内联。
  • 通过副作用分析确定纯函数和常函数。
  • 静态变量引用分析和type escape分析,消除冗余load操作和进行更好的寄存器分配。
  • 提高基于RTL的别名分析。
  • 全程序优化(-fwhole-program --combine )。

还有一个重点是向量化。自从引入SSA之后,很多优化都基于SSA进行。
关于纯函数和常函数:

  • 纯函数(pure function)是指不会影响它自己范围外任何事情的函数。它可以读取全局变量或者通过指针传递的变量,但是不可以对这些变量进行些操作。它也不可以读取volatile变量和外部资源(比如文件)。“函数的结果只依赖参数”。
  • 常函数(const function)是纯函数的更严格版本。它不会读取和写除参数外的任何数据,也不可以使用指针参数来读取数据。“函数的结果依赖于参数和全局及内存变量”。
  • 对于纯函数和常函数,如果返回值为void类型,则没有任何意义。GCC可以通过这些信息来进行CSE优化,比如对于常函数,如果参数在多次调用时不便,则GCC将替换后面的函数调用为前面已执行函数的返回值。
  • 函数属性是C语言的GNU扩展,允许程序员为GCC提供更多的信息。它作为函数声明的一部分,通过关键字__attribute__来制定。比如,int func(int a, int b) __attribute__ (pure);。一个函数可以具有多个属性。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30686/showart_531006.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· Ubuntu Tweak 0.3.4正式发布
· 哪一个 Linux 发行版最流行?
· 开源运营引发中小网游厂商运营..
· Core 2 Duo E8400 Ubuntu性能全..
· Linux下Wine中文对话框乱码解决法
· 采用Linux系统的车载GPS开发中
· 多种选择:9个Linux下的浏览器
· Adobe 发布 Flash Player 10 b..
· Novell为超级计算机提供SUSE L..
· Xandros买下Linspire Linux走向..
论坛热点更多>> 
· 新装的服务器有报警声,不知道..
· 70后和80后 的婚姻
· LINUX字符界面下 ( 结束讨论)
· 一个神奇的路由问题,超过了..
· 系统时钟比硬件时钟快很多,..
· @@
· 原来我也是一个小心眼得女人
· [转贴]热词“俯卧撑”风靡网络
· 闲啊闲~闲啊闲
· 中国古代杂志封面精选(贴图转)
文档更新更多>> 
· [转]几种linux内核文件的区别
· Debian 在线播放
· epoll入门
· yum出现Existing lock /var/run/..
· RPM 的介绍和应用
· SSH客户端命令的使用
· Unix/Linux下文件基本操作
· vmstat命令列出的属性详解
· linux学习笔记分享 (Linux入门绝佳)
· squid 命令行选项分类
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们