From: Steve Richter <email@example.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.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.