#2266 Non-connected liverange

open
nobody
None
other
5
2014-11-21
2014-04-05
No

This a cut down bit of code I'm porting to sdcc. Seems to compile (not tested if for actual functionality), but throws lots of warning about liverange and a polite request to contact the SDCC authors.

Tulip:code steven$ /Developer/sdcc/bin/sdcc -mstm8 bug.c
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp26. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp26. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp25. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp25. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp24. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp24. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp23. Please contact sdcc authors with source code to reproduce.
Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp23. Please contact sdcc authors with source code to reproduce.
Tulip:code steven$ /Developer/sdcc/bin/sdcc -v
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8 3.4.0 #8979 (Apr 2 2014) (Mac OS X i386)
published under GNU General Public License (GPL)

1 Attachments

Discussion

  • Philipp Klaus Krause

    The generated code should still work correctly. However, the non-connected liverange issue can result in the resulting code being bigger or less efficient than it would otherwise be.

    Philipp

    P.S.: We are just before the 3.4.0 release, I will look into fixing it after the release.

     
  • Philipp Klaus Krause

    • Category: STM8 --> other
     
  • Philipp Klaus Krause

    This is not an stm8 bug: I see the same issue when compiling the bug.c example for other ports, such as hc08 or z80.

    Philipp

     
  • Steven Borley

    Steven Borley - 2014-04-06

    Thank you Philipp. Good luck with the 3.4.0 release.
    On a very positive note this was the only SDCC issue I found while porting the whole project.

    You may have noticed, in several places in bug.c, if you comment out just one line all the warnings disappear. I also found it curious that as I parred down my original code to this simpler and shorter example the number of warning increased. The original code only produced four.

    Steven

     
  • Philipp Klaus Krause

    The live-range splitter, that is supposed to split live.ranges seems to get incorrect information from live-range analysis, and assumes the variable to be alive at more places than they really are, and so doesn't split them.

    Philipp

     
  • Ben Shi

    Ben Shi - 2014-11-21
    • summary: liverange STM8 --> Non-connected liverange
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks