[PATCH] D41226: LiveDebugValues spill recognition expasnsion
Wolfgang Pieb via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 8 09:58:42 PST 2018
wolfgangp added a comment.
I agree that this is a solution to a specific case. I would be OK with it going in for now (after addressing the remaining review comments) with a FIXME comment added to provide a more comprehensive solution later, i.e. one that addresses bundles and kills in instructions further down the chain, as Bjorn suggested.
================
Comment at: lib/CodeGen/LiveDebugValues.cpp:451
+ // previous spill instruction that is killed in NextI.
+ if (getRegIfKilled(MONext, RegNext) && RegNext == Reg)
+ return true;
----------------
bjope wrote:
> Isn't it still weird to use Reg here. The getRegIfKilled call on line 439 can return false without setting Reg (due to the operand not being a use, or not even being a register).
> The getRegIfKilled call on line 439 can return false without setting Reg (due to the operand not being a use, or not even being a register).
Yes, Reg can be undefined in that case. Perhaps it should be set to 0 in the lambda when it's not a use or a register.
https://reviews.llvm.org/D41226
More information about the llvm-commits
mailing list