diff options
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp index 30971e72f7d..be4cafc575b 100644 --- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp +++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp @@ -94,6 +94,23 @@ MachineInstr *MachineIRBuilder::buildCopy(unsigned Res, unsigned Op) { return buildInstr(TargetOpcode::COPY, Res, Op); } +MachineInstr *MachineIRBuilder::buildLoad(LLT VTy, LLT PTy, unsigned Res, + unsigned Addr, + MachineMemOperand &MMO) { + MachineInstr *NewMI = buildInstr(TargetOpcode::G_LOAD, {VTy, PTy}, Res, Addr); + NewMI->addMemOperand(getMF(), &MMO); + return NewMI; +} + +MachineInstr *MachineIRBuilder::buildStore(LLT VTy, LLT PTy, unsigned Val, + unsigned Addr, + MachineMemOperand &MMO) { + MachineInstr *NewMI = buildInstr(TargetOpcode::G_STORE, {VTy, PTy}); + NewMI->addMemOperand(getMF(), &MMO); + MachineInstrBuilder(getMF(), NewMI).addReg(Val).addReg(Addr); + return NewMI; +} + MachineInstr *MachineIRBuilder::buildExtract(LLT Ty, ArrayRef<unsigned> Results, unsigned Src, ArrayRef<unsigned> Indexes) { |

