mirror of
https://github.com/intel/llvm.git
synced 2026-02-03 10:39:35 +08:00
1f5580b6f33f83f52b3daced4967e1d2dc596f16
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
…
Languages
LLVM
41.3%
C++
31.5%
C
13%
Assembly
9.5%
MLIR
1.5%
Other
2.8%