Matthias Braun via llvm-dev
2016-Jul-28 21:01 UTC
[llvm-dev] Liveness of virtual registers
> On Jul 28, 2016, at 1:52 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: > > On 7/28/2016 3:49 PM, Matthias Braun wrote: >> >> The isDead and isUndef flags however are required to be correct. > > Undef yes, but what relies on isDead being accurate (before live interval computation)?I only remember Andy/Quentin making those conservative correctness claims about the kill flags but not the dead/undef flags. I am also pretty sure the RegisterPressure.cpp / -verify-misched fail on missing dead flags (although -verify-misched fails in several instances anyway at the moment...) On the other hand I just checked the MachineVerifier which indeed only checks for sonervatively correct dead flags as you say and I can't think of other places being problematic with missing dead flags. I wonder if that is by accident or by design. - Matthias
Matthias Braun via llvm-dev
2016-Jul-28 21:10 UTC
[llvm-dev] Liveness of virtual registers
> On Jul 28, 2016, at 2:01 PM, Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > >> On Jul 28, 2016, at 1:52 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: >> >> On 7/28/2016 3:49 PM, Matthias Braun wrote: >>> >>> The isDead and isUndef flags however are required to be correct. >> >> Undef yes, but what relies on isDead being accurate (before live interval computation)? > I only remember Andy/Quentin making those conservative correctness claims about the kill flags but not the dead/undef flags. I am also pretty sure the RegisterPressure.cpp / -verify-misched fail on missing dead flags (although -verify-misched fails in several instances anyway at the moment...)I re-checked the RegisterPressure.cpp code as well and it does not rely on dead-flags either (if there is no dead flag it queries the liveinterval for it). So it seems you are right with the statement of dead flags being optional. - Matthias
Krzysztof Parzyszek via llvm-dev
2016-Jul-28 21:21 UTC
[llvm-dev] Liveness of virtual registers
On 7/28/2016 4:10 PM, Matthias Braun wrote:> > I re-checked the RegisterPressure.cpp code as well and it does not rely on dead-flags either (if there is no dead flag it queries the liveinterval for it). So it seems you are right with the statement of dead flags being optional.Cool. Thanks for double-checking. -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation