From 433cb080bac56b4fac56f7625e07e17b4824ce8a Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Wed, 19 Dec 2012 19:19:01 +0000 Subject: Add an MF argument to MachineInstr::addOperand(). Just like for addMemOperand(), the function pointer provides a context for allocating memory. This will make it possible to use a better memory allocation strategy for the MI operand list, which is currently a slow std::vector. Most calls to addOperand() come from MachineInstrBuilder, so give that class an MF reference as well. Code using BuildMI() won't need changing at all since the MF reference is already required to allocate a MachineInstr. Future patches will fix code that calls MI::addOperand(Op) directly, as well as code that uses the now deprecated MachineInstrBuilder(MI) constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170574 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/MachineInstr.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/llvm/CodeGen/MachineInstr.h') diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index 0418b0400d..e7099db6ed 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -952,6 +952,14 @@ public: /// (before the first implicit operand). void addOperand(const MachineOperand &Op); + // Add an operand while providing a context pointer. This will replace the + // single-argument function shortly. + // + // MF must be the machine function that was used to allocate this instruction. + void addOperand(MachineFunction &MF, const MachineOperand &Op) { + addOperand(Op); + } + /// setDesc - Replace the instruction descriptor (thus opcode) of /// the current instruction with a new one. /// -- cgit v1.2.3-18-g5258