Deleted Added
full compact
X86FloatingPoint.cpp (202375) X86FloatingPoint.cpp (203954)
1//===-- X86FloatingPoint.cpp - Floating point Reg -> Stack converter ------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 221 unchanged lines hidden (view full) ---

230 bool Changed = false;
231 MBB = &BB;
232
233 for (MachineBasicBlock::iterator I = BB.begin(); I != BB.end(); ++I) {
234 MachineInstr *MI = I;
235 unsigned Flags = MI->getDesc().TSFlags;
236
237 unsigned FPInstClass = Flags & X86II::FPTypeMask;
1//===-- X86FloatingPoint.cpp - Floating point Reg -> Stack converter ------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 221 unchanged lines hidden (view full) ---

230 bool Changed = false;
231 MBB = &BB;
232
233 for (MachineBasicBlock::iterator I = BB.begin(); I != BB.end(); ++I) {
234 MachineInstr *MI = I;
235 unsigned Flags = MI->getDesc().TSFlags;
236
237 unsigned FPInstClass = Flags & X86II::FPTypeMask;
238 if (MI->getOpcode() == TargetInstrInfo::INLINEASM)
238 if (MI->isInlineAsm())
239 FPInstClass = X86II::SpecialFP;
240
241 if (FPInstClass == X86II::NotFP)
242 continue; // Efficiently ignore non-fp insts!
243
244 MachineInstr *PrevMI = 0;
245 if (I != BB.begin())
246 PrevMI = prior(I);

--- 831 unchanged lines hidden (view full) ---

1078
1079 } else {
1080 // For FMOV we just duplicate the specified value to a new stack slot.
1081 // This could be made better, but would require substantial changes.
1082 duplicateToTop(SrcReg, DestReg, I);
1083 }
1084 }
1085 break;
239 FPInstClass = X86II::SpecialFP;
240
241 if (FPInstClass == X86II::NotFP)
242 continue; // Efficiently ignore non-fp insts!
243
244 MachineInstr *PrevMI = 0;
245 if (I != BB.begin())
246 PrevMI = prior(I);

--- 831 unchanged lines hidden (view full) ---

1078
1079 } else {
1080 // For FMOV we just duplicate the specified value to a new stack slot.
1081 // This could be made better, but would require substantial changes.
1082 duplicateToTop(SrcReg, DestReg, I);
1083 }
1084 }
1085 break;
1086 case TargetInstrInfo::INLINEASM: {
1086 case TargetOpcode::INLINEASM: {
1087 // The inline asm MachineInstr currently only *uses* FP registers for the
1088 // 'f' constraint. These should be turned into the current ST(x) register
1089 // in the machine instr. Also, any kills should be explicitly popped after
1090 // the inline asm.
1091 unsigned Kills[7];
1092 unsigned NumKills = 0;
1093 for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
1094 MachineOperand &Op = MI->getOperand(i);

--- 113 unchanged lines hidden ---
1087 // The inline asm MachineInstr currently only *uses* FP registers for the
1088 // 'f' constraint. These should be turned into the current ST(x) register
1089 // in the machine instr. Also, any kills should be explicitly popped after
1090 // the inline asm.
1091 unsigned Kills[7];
1092 unsigned NumKills = 0;
1093 for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
1094 MachineOperand &Op = MI->getOperand(i);

--- 113 unchanged lines hidden ---