diff --git a/lib/Target/X86/X86RegisterInfo.td b/lib/Target/X86/X86RegisterInfo.td index 4262a9ffd70..628a239d014 100644 --- a/lib/Target/X86/X86RegisterInfo.td +++ b/lib/Target/X86/X86RegisterInfo.td @@ -86,5 +86,13 @@ def R32 : RegisterClass { def RFP : RegisterClass; -// Floating point stack registers. -def RST : RegisterClass; +// Floating point stack registers (these are not allocatable by the +// register allocator - the floating point stackifier is responsible +// for transforming FPn allocations to STn registers) +def RST : RegisterClass { + let Methods = [{ + iterator allocation_order_end(MachineFunction &MF) const { + return begin(); + } + }]; +}