Commit e6b9834
committed
[DebugInfo] When merging locations prefer unannotated empty locs
When merging DILocations, we prefer to use DebugLoc::getMergedLocation when
possible to better preserve DebugLoc coverage tracking information through
transformations (as conversion to DILocations drops all coverage tracking
data). Currently, DebugLoc::getMergedLocation checks to see if either
DebugLoc is empty and returns it directly if so, to propagate that
DebugLoc's coverage tracking data to the merged location; however, it only
checks whether either location is valid, not whether they are annotated.
This is significant because an annotated location is not a bug, while an
empty unannotated location may be one; therefore, we check to see if either
location is unannotated, and prefer to return that location if it exists
rather than an annotated one.
This change is NFC outside of DebugLoc coverage tracking builds.1 parent 3b19717 commit e6b9834
1 file changed
+12
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
185 | | - | |
186 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
187 | 195 | | |
| 196 | + | |
188 | 197 | | |
189 | 198 | | |
190 | 199 | | |
| |||
0 commit comments