ACM Letters on Programming Languages and Systems · 1992 · 37 citations · 26 references
ComputingComputer ScienceCompilersComputer ArchitectureProgramming LanguagesAbstract Syntax TreesCode GenerationCompiler ConstructionControl-flow AnalysisData-flow AnalysisImplicit InformationInstruction SubstitutionInterprocedural AnalysisInterprocedural Data-flow AnalysisInterprocedural OptimizationTransformations
The structure of a program can encode implicit information that changes both the shape and speed of the generated code. Interprocedural transformations like inlining often discard such information; using interprocedural data-flow information as a basis for optimization can have the same effect. In the course of a study on inline substitution with commercial FORTRAN compilers, we encountered unexpected performance problems in one of the programs. This paper describes the specific problem that we encountered, explores its origins, and examines the ability of several analytical techniques to help the compiler avoid similar problems.
26
Monica S. Lam · ACM SIGPLAN Notices · 2004 · 890 citations
Virginia Klema, Jack Dongarra, James R. Bunch et al. · Mathematics of Computation · 1980 · 648 citations
Interprocedural side-effect analysis in linear time
Keith D. Cooper, Ken Kennedy · ACM SIGPLAN Notices · 2004 · 149 citations