AVX-512: Added intrinsic for VMOVSS store form with mask.
[oota-llvm.git] / lib / Target / X86 / X86FloatingPoint.cpp
index dfbfefa39153bbfa97f8c82dab92c0888932f4f7..8fdf50325eab29d50a22ffb58c8e1c46e3e062bd 100644 (file)
@@ -311,7 +311,7 @@ bool FPS::runOnMachineFunction(MachineFunction &MF) {
   if (!FPIsUsed) return false;
 
   Bundles = &getAnalysis<EdgeBundles>();
-  TII = MF.getTarget().getSubtargetImpl()->getInstrInfo();
+  TII = MF.getSubtarget().getInstrInfo();
 
   // Prepare cross-MBB liveness.
   bundleCFG(MF);
@@ -324,10 +324,8 @@ bool FPS::runOnMachineFunction(MachineFunction &MF) {
   MachineBasicBlock *Entry = MF.begin();
 
   bool Changed = false;
-  for (df_ext_iterator<MachineBasicBlock*, SmallPtrSet<MachineBasicBlock*, 8> >
-         I = df_ext_begin(Entry, Processed), E = df_ext_end(Entry, Processed);
-       I != E; ++I)
-    Changed |= processBasicBlock(MF, **I);
+  for (MachineBasicBlock *BB : depth_first_ext(Entry, Processed))
+    Changed |= processBasicBlock(MF, *BB);
 
   // Process any unreachable blocks in arbitrary order now.
   if (MF.size() != Processed.size())
@@ -1647,13 +1645,16 @@ void FPS::handleSpecialFP(MachineBasicBlock::iterator &Inst) {
 
 void FPS::setKillFlags(MachineBasicBlock &MBB) const {
   const TargetRegisterInfo *TRI =
-      MBB.getParent()->getTarget().getSubtargetImpl()->getRegisterInfo();
+      MBB.getParent()->getSubtarget().getRegisterInfo();
   LivePhysRegs LPR(TRI);
 
   LPR.addLiveOuts(&MBB);
 
   for (MachineBasicBlock::reverse_iterator I = MBB.rbegin(), E = MBB.rend();
        I != E; ++I) {
+    if (I->isDebugValue())
+      continue;
+
     BitVector Defs(8);
     SmallVector<MachineOperand *, 2> Uses;
     MachineInstr &MI = *I;