Jump to content

Talk:Optimizing compiler

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Matthiaspaul (talk | contribs) at 22:17, 3 July 2017 (POV? humans: +a). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Findsourcesnotice

POV? humans

"good compilers can often generate better code than human programmers" is a blatant POV. For one, my POV, as a person which way too often looks at assembly output of compilers, is opposite - even "good" compilers often produce visibly suboptimal code, whereas "mediocre" ones emit outright atrocious contraptions. 89.103.73.49 (talk) 16:34, 25 March 2008 (UTC)[reply]

I agree and have removed those POV statements. --Matthiaspaul (talk) 22:16, 3 July 2017 (UTC)[reply]

Something still missing

dynamic compilation, feedback based optimization, procedural abstraction (and other code-size optimizations generally)

compiler optimzation vs. optimizing compiler

Wouldn't it be better to discuss this material under optimizing compiler, which is a term in common use? --Robert Merkel


This page is very well written and informative, kudos to the persons who wrote it. And compiler optimization is the correct term. --BL

My modifications

A real good page, quite informative.Gave me all the info required for my project.My thanks to the writer.[alpha geek]


I've tried to organize and expand this page in a lot of ways. I think compiler optimizations are a very deep field, and each optimization, or at least the more complex ones, deserve their own page giving examples, details, and a full explanation of the algorithm. Look for red links, try to help!

Deco

I think the definition, "Compiler optimization techniques are optimization techniques that have been programmed into a compiler," is rather tautologous. --Random reader

Excellent page on compiler optimization with good links to external pages. Very useful in understanding the concepts. More pointers on how to look at the assembly code from gcc and how to interpret the optimization will be hepful. More external links could also be helpful.

Very good article

I think with a little review and touching up this article could become featured. --24.239.174.223 22:50, 16 January 2007 (UTC)[reply]

Definition

I think the definition of compiler optimization can do with some work as its a little disjoint. —Preceding unsigned comment added by 82.46.173.82 (talk) 09:47, 13 December 2007 (UTC)[reply]

SCCP is greater than the sum of its parts

I've corrected the description of sparse conditional constant propagation (SCCP), which claimed that it's equivalent to iteration of constant propagation, constant folding, and dead-code elimination. In fact, it's more powerful, as the linked Wegman & Zadeck paper shows[1]:

“Many optimizing compilers repeatedly execute constant propagation and unreachable code elimination since each provides information that improves the other. CC solves this problem in an elegant way by combining the two optimizations. Additionally, the algorithm gets better results than are possible by repeated applications of the separate algorithms, as described in Section 5.1.”

(CC is conditional constant propagation, which the authors made “sparse” using SSA.)

Essentially, what can happen is that value A is constant only because block B is dead, but B is dead only because A is constant. Since dataflow and control flow interact, analyzing them in isolation is less informative. — Preceding unsigned comment added by Luke Maurer (talkcontribs) 02:18, 19 January 2016 (UTC)[reply]

  1. ^ Wegman, Mark N. and Zadeck, F. Kenneth. "Constant Propagation with Conditional Branches." ACM Transactions on Programming Languages and Systems, 13(2), April 1991, pages 181-210.