首页> 外文会议>Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments >The impact of interprocedural analysis and optimization on the design of a software development environment
【24h】

The impact of interprocedural analysis and optimization on the design of a software development environment

机译:过程间分析和优化对软件开发环境设计的影响

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

One of the primary goals of the IRn programming environment project is to mount a concerted attack on the problems of performing interprocedural analysis and optimization in a compiler. Few commercial optimizing compilers employ interprocedural techniques because the cost of gathering the requisite information in a traditional compiler is too great. Computing the side effects of a procedure call requires detailed knowledge of the internals of both the called procedure and any procedures invoked either directly or indirectly from it. Thus, the compiler potentially needs information about the internals of every procedure to determine the side effects of procedure calls, even separately compiled procedures. Gathering this information would require examining the source of every procedure in the program - an expensive process, particularly unfortunate since the primary goal of separate compilation is to reduce the amount of recompilation required in response to changes in an individual procedure.

rn

The existence of a software development environment like the IRn programming environment [HoKe 84] changes the compilation process enough to make computing such information palatable. Since all modules are developed and all programs are defined using tools of the environment, these tools can cooperate to record the information necessary to do a good job of interprocedural analysis and optimization. Whenever the compiler needs information about possible side effects of a particular procedure, it can simply extract this information from the environment's central database. Because the only mechanism for changing modules or programs is through the tools provided by the environment, the compiler is assured that it will be notified of any changes. Thus, it can use information derived from previous analysis with certain knowledge that the information reflects the current state of the program and its procedures.

机译:

IR n 编程环境项目的主要目标之一是对在编译器中执行过程间分析和优化的问题进行协同攻击。很少有商业优化编译器采用过程间技术,因为在传统编译器中收集必需信息的成本太高。计算过程调用的副作用需要详细了解被调用过程以及直接或间接从中调用的任何过程的内部。因此,编译器潜在地需要有关每个过程内部的信息,以确定过程调用的副作用,甚至是单独编译的过程。收集这些信息将需要检查程序中每个过程的来源,这是一个昂贵的过程,尤其不幸的是,因为单独编译的主要目标是减少因应单个过程的更改而需要的重新编译量。 rn

像IR n 编程环境[HoKe 84]这样的软件开发环境的存在足以改变编译过程,从而使计算此类信息变得可口。由于开发了所有模块并且使用环境工具定义了所有程序,因此这些工具可以协作以记录必要的信息,以更好地进行过程间分析和优化。每当编译器需要有关特定过程可能产生的副作用的信息时,它都可以简单地从环境的中央数据库中提取此信息。因为更改模块或程序的唯一机制是通过环境提供的工具,所以可以确保将任何更改通知编译器。因此,它可以使用从先前的分析中获得的信息,并具有一定的知识,即该信息反映了程序及其程序的当前状态。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号