OSDN Git Service

Reapply [X86] Add a new LOW32_ADDR_ACCESS_RBP register class.
authorQuentin Colombet <qcolombet@apple.com>
Mon, 9 May 2016 19:01:46 +0000 (19:01 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Mon, 9 May 2016 19:01:46 +0000 (19:01 +0000)
commit5db7dd2a56850ce94838fbcf8bde55ae29b75484
tree63ed83db8617ad53534e9b54579152d542aa2adf
parent41c48e040d7896529fbc14b00dbd4489964f36ed
Reapply [X86] Add a new LOW32_ADDR_ACCESS_RBP register class.

This reapplies commit r268796, with a fix for the setting of the inline asm
constraints. I.e., "mark" LOW32_ADDR_ACCESS_RBP as a GR variant, so that the
regular processing of the GR operands (setting of the subregisters) happens.

Original commit log:
[X86] Add a new LOW32_ADDR_ACCESS_RBP register class.

ABIs like NaCl uses 32-bit addresses but have 64-bit frame.
The new register class reflects those constraints when choosing a
register class for a address access.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268955 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/X86/X86RegisterInfo.td
test/CodeGen/X86/x86-64-stack-and-frame-ptr.ll