|
From: Steve Richter <srichter@autocoder.com> > Please point me to the technical papers written by the cross compiler team > that explain why you cant optimize "lumpy" code and please provide some > examples of lumpy vs non lumpy code. I will agree with Steve that you can optimize even MI code quite well. I don't know anything about "lumps" and will not pretend to be an expert on "lumpiness", but let's take some simple MI-code: DCL DD X CHAR(1) ... CMPBLA(B) X, "A"/EQ(LETTER); CMPBLA(B) X, "B"/EQ(LETTER); CMPBLA(B) X, "C"/EQ(LETTER); ... The generated code is LBZ R0,64(R12) CMPLI R0,193 BC 12,2,+68 LBZ R0,64(R12) <== CMPLI R0,194 BC 12,2,+56 LBZ R0,64(R12) <== CMPLI R0,195 BC 12,2,+44 ... The two LBZ marked by "<==" are clearly redundant and could be optimized away. Granted that at times (rarely) some stores can even be optimized away if the result is never used again, but that does not preclude optimizing away the above loads. The point is that code generated from MI could still be significantly optimized, but that IBM has chosen NOT to do this (maybe for "reasons that nobody knows anymore"). Since almost nobody codes in MI, there is no "business case" for doing anything with MI, but the reasons are surely not technical.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.