Syntax-directed divide-and-conquer data-flow analysis

Shigeyuki Sato, Akimasa Morihata

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Link-time optimization, with which GCC and LLVM are equipped, generally deals with large-scale procedures because of aggressive procedure inlining. Data-flow analysis (DFA), which is an essential computation for compiler optimization, is therefore desired to deal with large-scale procedures. One promising approach to the DFA of largescale procedures is divide-and-conquer parallelization. However, DFA on control-flow graphs is difficult to divide and conquer. If we perform DFA on abstract syntax trees (ASTs) in a syntax-directed manner, the divide and conquer of DFA becomes straightforward, owing to the recursive structure of ASTs, but then nonstructural control flow such as goto/label becomes a problem. In order to resolve it, we have developed a novel syntax-directed method of DFA on ASTs that can deal with goto/label and is ready to divide-and-conquer parallelization. We tested the feasibility of our method experimentally through prototype implementations and observed that our prototype achieved a significant speedup.

Original languageEnglish
Title of host publicationProgramming Languages and Systems - 12th Asian Symposium, APLAS 2014, Proceedings
EditorsJacques Garrigue
PublisherSpringer Verlag
Number of pages16
ISBN (Electronic)9783319127354
Publication statusPublished - 2014
Event12th Asian Symposium on Programming Languages and Systems, APLAS 2014 - Singapore, Singapore
Duration: 2014 Nov 172014 Nov 19

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other12th Asian Symposium on Programming Languages and Systems, APLAS 2014


  • Closed semiring
  • Divide and conquer
  • Syntax-directed

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'Syntax-directed divide-and-conquer data-flow analysis'. Together they form a unique fingerprint.

Cite this