#2192 Unconnected live-ranges

closed-fixed
None
other
5
2013-12-17
2013-07-11
No

At least GCSE and lospre sometimes result in temporaries having non-connected live-ranges. These are bad for other optimizations, in particular, register allocation. All live-ranges reaching register allocation should be connected.

Philipp

Discussion

    • summary: Unconnected lvie-ranges --> Unconnected live-ranges
     
  • The live-range splitting introduced in revision #8753 now catches and corrects most of these, but some cases are still getting through (those were a live-range is not really connected but there is no instruction where the variable is not alive in-between, e.g. a varibale being read in one iCode, and being written in the same or next one).

    Philipp

     
  • Fixed in revision #8872. However the fix is disabled for hc08 /s08 (see bug #2226). All live-ranges reaching register allcoation should now be connected. A warning for non-connected live-ranges reachig register allocation has been enabled (except for hc08 / s08),
    Once bug #2226 is fixed, the if (!TARGET_HC08_LIKE) in line 452 of SDCCralloc.hpp can be removed and this bug closed.

    Philipp

     
    • status: open --> closed-fixed
    • assigned_to: Philipp Klaus Krause
     
  • Warning enabled for hc08/s08 in revision #8910.

    Philipp