Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: Re: Modern compilers for ye olde architectures Date: Thu, 21 Oct 2021 21:53:48 -0700 (PDT) Organization: Compilers Central Lines: 24 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <21-10-037@comp.compilers> References: <21-10-007@comp.compilers> <21-10-012@comp.compilers> <21-10-015@comp.compilers> <21-10-024@comp.compilers> <21-10-034@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="30013"; mail-complaints-to="abuse@iecc.com" Keywords: history, Fortran, comment Posted-Date: 22 Oct 2021 12:19:42 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <21-10-034@comp.compilers> Xref: csiph.com comp.compilers:2744 On Thursday, October 21, 2021 at 5:08:46 PM UTC-7, Philipp Klaus Krause wrote: (snip) > On one hand, we have the theoretical bound on the number of assignments, > which is useful for proving that we can be optimal in polynomial time. > On the other hand, getting a provably optimal result when compiling an > individual function is something that is easier to achieve, as the > theoretical bound is a worst case. This is reminding me that early Fortran compilers had a FREQUENCY statement (optionally) telling the compiler the relative probability of branching for IF statements, and the estimated iterations for DO loops. It was removed before the first standard in 1966. The above methods might be fine on a small scale, but for more global optimization you need the relative probabilities. I suspect that everyone assumes equal probabilities for everything. I suspect that there is no interest in bringing FREQUENCY back to Fortran, or any other language, though. [Legend says that in at least one compiler, FREQUENCY was implemented backward and nobody noticed. -John]