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

Reply via email to