When LiveDebugValues deduces new variable's location from spill, restore or register copy instruction it should close old variable's location. Otherwise we can have multiple block output locations for same variable. That could lead to inserting two DBG_VALUEs for same variable to the beginning of the successor block which results to ignoring of first DBG_VALUE.
- fission-ranges.ll part which references llvm.dbg.value debuging location is changed in order to give function scope range to variables "b" and "e".
previous variable's -> this variable's previous
Does this do the right thing for two fragments of the same variable where one of them has a longer live range than the other? Or is this a non-issue here?