⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gblopt.txt

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 TXT
字号:
Notes on Possible Global Optimizations
======================================

Global optimizations will be profitable when cross-module information can
be exploited: essentially, any optimization which applies on a module-wide
basis could be performed on a program-wide basis.

Examples:

    Code Generation:
    
        - common-tail sharing
        
        - automatic inlining
        
        
    C++ compiler:
    
        - call-graph information: throwing, null routine bodies
        
        - could also do routine aliasing ( pass-thru inlining, VFT's, etc )
        
        
It is also possible to use a repository to achieve some of the benefits
of global optimization.  When a module by itself establishes information
of use in compiling other modules, that information can be stored in
a repository.

    C++ compiler:
    
        - null routine bodies are completely determined by compiling
          a module
          
        - whether a routine could throw may require analysis of more than
          one module jointly
          
A number of repositories can be used. For example, it would be desirable
to have a repository for each library supplied by WATCOM (this could be
generated by non-compiler means before general compiler support for creation
was present).

Possible implementation of a global optimizer:
    - have a working program
    - global optimizer analyses repository and updates it with further
      optimization information
    - program is re-made (modules are re-compiled automatically) since
      dependent information has changed)
    - any information added by the global optimizer must be undone
      whenever there is a change to a module used to generate that 
      information

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -