Path: csiph.com!aioe.org!adore2!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: bilal.a.tariq@gmail.com Newsgroups: comp.compilers Subject: Optimised Node Splitting in Irreducible Flow Graphs Date: Mon, 21 Jan 2019 22:09:58 -0500 (EST) Organization: Compilers Central Lines: 13 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-01-007@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="1970"; mail-complaints-to="abuse@iecc.com" Keywords: optimize, question Posted-Date: 21 Jan 2019 22:09:58 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2149 Hello I am working on a hobbyist transpiler/optimiser for Java bytecode and am interested in implementing the controlled node splitting algorithm specified in "Making graphs reducible with controlled node splitting" by Johan Janssen and Henk Corporaal. More specifically I am unsure what the best way to identify the "loop-sets" are, defined as paths (n_1,...,n_k) where n_1 is an immediate successor of n_k. The loopsets formed here seem similar to strongly connected components to me but they are not the same. Perhaps there is a reference implementation I could look at or is there something glaringly obvious I am missing? B. Tariq