[LLVMbugs] [Bug 23119] New: RegisterScavenger ignores kill flags on predicated instructions
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Apr 3 16:47:50 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=23119
Bug ID: 23119
Summary: RegisterScavenger ignores kill flags on predicated
instructions
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: unassignedbugs at nondot.org
Reporter: tobias at codeaurora.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The RegisterScavenger explicitly ignores <kill> flags on operands of predicated
instructions and therefore assumes that such registers remain live. When it
then scavenges such a register, it inserts a spill of this (killed) register.
This is invalid code and gets flagged up by the verifier.
RegisterScavenging.cpp includes a comment that explains why it ignores flags on
predicated instructions:
// FIXME: The scavenger is not predication aware. If the instruction is
// predicated, conservatively assume "kill" markers do not actually kill the
// register. Similarly ignores "dead" markers.
Is this still needed for any target?
Just removing the special handling of predicated instructions would seem an
easy way to fix this.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150403/d64c427d/attachment.html>
More information about the llvm-bugs
mailing list