Yes - the other approach is to lower at RTL expand.
Unfortunately there is no practical way to lower arithmetic and compare
operations. reload can add arithmetic which messes the "carry"
handling attempts. So we end up with mixed higher level and lower level
RTL.
This mixture then causes other miss optimisations - which historically
have been very significant but grow less with time.
The splitting after combine allows existing optimisations to be kept
largely intact.
The ports that benefit would be any that split operations - after
expand (eg combine onwards). How much - who knows!
Unfortunately there is no way a target can hook into pass management to
make this more specfic.
but I'm still thinking about it!
Andy
________________________________________________________________________
More new features than ever. Check out the new AIM(R) Mail ! -
http://webmail.aim.com