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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 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.