D29500: [DWARF][PATCH] Keep track of spilled variables in LiveDebugValues

Pieb, Wolfgang via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 8 14:47:11 PST 2017


Thank you for the analysis. I have fixed this issue. The VarLoc constructor was not expecting DBG_VALUE instructions with negative offsets and the addition of spill locations exposed this. I am surprised none of my own tests detected it, not even in our quite extensive code base.

I will reapply the patch shortly.

-- wolfgang

> -----Original Message-----
> From: NAKAMURA Takumi via Phabricator [mailto:reviews at reviews.llvm.org]
> Sent: Wednesday, February 08, 2017 6:15 AM
> To: Pieb, Wolfgang; dblaikie at gmail.com; echristo at gmail.com;
> aprantl at apple.com
> Cc: geek4civic at gmail.com; llvm-commits at lists.llvm.org;
> qcolombet at apple.com; mehdi.amini at apple.com; Robinson, Paul
> Subject: [PATCH] D29500: [DWARF][PATCH] Keep track of spilled variables
> in LiveDebugValues
> 
> chapuni added a comment.
> 
> Excuse me, I have reverted it in r294447.
> 
> It triggered undefined behavior.
> http://bb.pgr.jp/builders/ninja-clang-i686-msc19-R/builds/11007
> (and reproducible with valgrind)
> 
> I guess Offset (in VarLoc) should be signed-aware. See also a message
> in r294447.
> 
> 
> Repository:
>   rL LLVM
> 
> https://reviews.llvm.org/D29500
> 
> 



More information about the llvm-commits mailing list