When replacing FrameIndex with BasePtr, we must preserve BasePtr for
LEA64_32r since BasePtr is used later for stack adjustment if it is
the same as StackPtr.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86RegisterInfo.cpp | ||
---|---|---|
638 ↗ | (On Diff #68237) | Maybe something like: unsigned MachineBasePtr = BasePtr; if (Opc == X86::LEA64_32r && X86::GR32RegClass.contains(BasePtr)) MachineBasePtr = getX86SubSuperRegister(BasePtr, 64); ? |
645 ↗ | (On Diff #68237) | As long as you're touching this, can you fix this comment to make sense? |
test/CodeGen/X86/x32-movtopush64.ll | ||
1 ↗ | (On Diff #68237) | You shouldn't need the -O2, I think. |