Johnnie Birch

Learn More
This paper presents a unified approach for generalized induction variable recognition and substitution, pointer analysis, analysis of conditionally updated variables, value range analysis, array region analysis, and nonlinear dependence testing. The analysis techniques share a well-defined uniform approach based on the chains of recurrences algebra. The(More)
This paper presents a new approach to improve flow-sensitive induction variable analysis and data dependence testing on intermediate program representations, such as control-flow graphs with low-level operations representations in single static assignment forms. Current compiler techniques have difficulties optimizing loops that exhibit irregular control(More)
Code restructuring compilers rely heavily on program analysis techniques to automatically detect data dependences between program statements. Dependences between statement instances in the iteration space of a loop nest impose ordering constraints that must be preserved in order to produce valid optimized, vectorized, and parallelized loop nests. This paper(More)
This paper presents an efficient algorithm for classifying generalized induction variables and flow-sensitive loop-variant variables that have arbitrary conditional update patterns along multiple paths in a loop nest. Variables are recognized and translated into closed-form functions, such as linear, polynomial, geometric, wrap-around, periodic, and mixer(More)
  • 1