[PATCH] D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations
Bjorn Pettersson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 27 04:54:51 PDT 2019
bjope added a comment.
In D56151#1444227 <https://reviews.llvm.org/D56151#1444227>, @bjope wrote:
> - Is this patch really supposed to detect this DBG_VALUE as unsound? (we are not updating %43 here, we are only extending the live range to cover the DBG_VALUE that already is using %43). Should perhaps mergingChangesDbgValue return false also when `(SrcLive && DstReg == DbgReg)`, or could this be unsound?
I can probably answer that myself. This is after de-SSA (for awhile I didn't consider that), so I guess this is more or less exactly what this patch is supposed to detec. We do not know that SrcReg has the same value as DstReg for the full live range of SrcReg and DstReg (only at the COPY). We just merge the live ranges, but the register could have different values throughout the program. Unfortunately for my example program this will be seen as a regression since there are no redefinition of SrcReg/DstReg between the COPY and the DBG_VALUE. And the FIXME you have added on line 1974 probably covers that case.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56151/new/
https://reviews.llvm.org/D56151
More information about the llvm-commits
mailing list