R600: Allocate memoperand in the MachienFunction so it doesn't leak.
[oota-llvm.git] / lib / Target / R600 / SIISelLowering.cpp
index 0bd8bce51a3118817112b0b558ccd12332dab32e..dc721e9974a1642441cfb33a0e53cf79369be932 100644 (file)
@@ -423,9 +423,10 @@ SDValue SITargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
         Op.getOperand(2)
       };
 
-      MachineMemOperand *MMO = new MachineMemOperand(MachinePointerInfo(),
-                    MachineMemOperand::MOLoad | MachineMemOperand::MOInvariant,
-                    VT.getSizeInBits() / 8, 4);
+      MachineMemOperand *MMO = MF.getMachineMemOperand(
+          MachinePointerInfo(),
+          MachineMemOperand::MOLoad | MachineMemOperand::MOInvariant,
+          VT.getSizeInBits() / 8, 4);
       return DAG.getMemIntrinsicNode(AMDGPUISD::LOAD_CONSTANT, DL,
                                      Op->getVTList(), Ops, 2, VT, MMO);
     }