[LLVMbugs] [Bug 8317] New: X86InstrInfo::convertToThreeAddress violates register class constraints
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Oct 6 15:00:25 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8317
Summary: X86InstrInfo::convertToThreeAddress violates register
class constraints
Product: libraries
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
AssignedTo: unassignedbugs at nondot.org
ReportedBy: stoklund at 2pi.dk
CC: llvmbugs at cs.uiuc.edu
X86InstrInfo::convertToThreeAddress can change an SHL instruction into an LEA.
This can break register class constraints because LEA cannot take ESP as an
offset while SHL can.
LEA requires a GR32_NOSP register while SHL only requires a GR32.
This is an academic exercise since ESP is always reserved anyway, so it doesn't
cause any invalid code to be generated.
It does break the machine code verifier, though.
X86InstrInfo::convertToThreeAddress should switch the regclass of SrcReg from
GR32 to GR32_NOSP, and we may want to use GR32_NOSP as the default class for
i32 values.
The same applies to GR64_NOSP.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list