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 --- |