Skip to content
  • Chandler Carruth's avatar
    Fix updateTerminator to be resiliant to degenerate terminators where · 1f5580b6
    Chandler Carruth authored
    both fallthrough and a conditional branch target the same successor.
    Gracefully delete the conditional branch and introduce any unconditional
    branch needed to reach the actual successor. This fixes memory
    corruption in 2009-06-15-RegScavengerAssert.ll and possibly other tests.
    
    Also, while I'm here fix a latent bug I spotted by inspection. I never
    applied the same fundamental fix to this fallthrough successor finding
    logic that I did to the logic used when there are no conditional
    branches. As a consequence it would have selected landing pads had they
    be aligned in just the right way here. I don't have a test case as
    I spotted this by inspection, and the previous time I found this
    required have of TableGen's source code to produce it. =/ I hate backend
    bugs. ;]
    
    Thanks to Jim Grosbach for helping me reason through this and reviewing
    the fix.
    
    llvm-svn: 154867
    1f5580b6
Loading