]> granicus.if.org Git - llvm/commit
[DebugInfo][X86] Fix handling of DBG_VALUE's in post-RA scheduler.
authorAndrew Ng <anng.sw@gmail.com>
Tue, 25 Apr 2017 13:39:49 +0000 (13:39 +0000)
committerAndrew Ng <anng.sw@gmail.com>
Tue, 25 Apr 2017 13:39:49 +0000 (13:39 +0000)
commit7198047ec447cb10accc94fdd88bae113e9220be
treefd7a18ca6d208bd8d8d494e9e1da287dd8c3056a
parent70ad9d96e124db18877c9eb70930055cffb0560d
[DebugInfo][X86] Fix handling of DBG_VALUE's in post-RA scheduler.

This patch fixes a bug with the updating of DBG_VALUE's in
BreakAntiDependencies. Previously, it would only attempt to update the first
DBG_VALUE following the instruction whose register is being changed,
potentially leaving DBG_VALUE's referring to the wrong register. Now the code
will update all DBG_VALUE's that immediately follow the instruction.

This issue was detected as a result of an optimized codegen difference with
"-g" where an X86 byte/word fixup was not performed due to a DBG_VALUE
referencing the wrong register.

Differential Revision: https://reviews.llvm.org/D31755

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301309 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AggressiveAntiDepBreaker.cpp
lib/CodeGen/AntiDepBreaker.h
lib/CodeGen/CriticalAntiDepBreaker.cpp
test/CodeGen/X86/post-ra-sched-with-debug.mir [new file with mode: 0644]