reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AMDGPU/R600InstrInfo.cpp
 1024   switch (MI.getOpcode()) {
 1026     MachineBasicBlock *MBB = MI.getParent();
 1028         R600::getNamedOperandIdx(MI.getOpcode(), R600::OpName::addr);
 1033         R600::getNamedOperandIdx(MI.getOpcode(), R600::OpName::chan);
 1034     if (isRegisterLoad(MI)) {
 1036           R600::getNamedOperandIdx(MI.getOpcode(), R600::OpName::dst);
 1037       unsigned RegIndex = MI.getOperand(RegOpIdx).getImm();
 1038       unsigned Channel = MI.getOperand(ChanOpIdx).getImm();
 1040       Register OffsetReg = MI.getOperand(OffsetOpIdx).getReg();
 1042         buildMovInstr(MBB, MI, MI.getOperand(DstOpIdx).getReg(),
 1042         buildMovInstr(MBB, MI, MI.getOperand(DstOpIdx).getReg(),
 1045         buildIndirectRead(MBB, MI, MI.getOperand(DstOpIdx).getReg(), Address,
 1045         buildIndirectRead(MBB, MI, MI.getOperand(DstOpIdx).getReg(), Address,
 1048     } else if (isRegisterStore(MI)) {
 1050           R600::getNamedOperandIdx(MI.getOpcode(), R600::OpName::val);
 1051       unsigned RegIndex = MI.getOperand(RegOpIdx).getImm();
 1052       unsigned Channel = MI.getOperand(ChanOpIdx).getImm();
 1054       Register OffsetReg = MI.getOperand(OffsetOpIdx).getReg();
 1056         buildMovInstr(MBB, MI, getIndirectAddrRegClass()->getRegister(Address),
 1057                       MI.getOperand(ValOpIdx).getReg());
 1059         buildIndirectWrite(MBB, MI, MI.getOperand(ValOpIdx).getReg(),
 1059         buildIndirectWrite(MBB, MI, MI.getOperand(ValOpIdx).getReg(),
 1067     MBB->erase(MI);
 1072     buildIndirectRead(MI.getParent(), MI, MI.getOperand(0).getReg(),
 1072     buildIndirectRead(MI.getParent(), MI, MI.getOperand(0).getReg(),
 1072     buildIndirectRead(MI.getParent(), MI, MI.getOperand(0).getReg(),
 1073                       RI.getHWRegIndex(MI.getOperand(1).getReg()), //  Address
 1074                       MI.getOperand(2).getReg(),
 1075                       RI.getHWRegChan(MI.getOperand(1).getReg()));
 1079     buildIndirectWrite(MI.getParent(), MI, MI.getOperand(2).getReg(), // Value
 1079     buildIndirectWrite(MI.getParent(), MI, MI.getOperand(2).getReg(), // Value
 1079     buildIndirectWrite(MI.getParent(), MI, MI.getOperand(2).getReg(), // Value
 1080                        RI.getHWRegIndex(MI.getOperand(1).getReg()),   // Address
 1081                        MI.getOperand(3).getReg(),                     // Offset
 1082                        RI.getHWRegChan(MI.getOperand(1).getReg()));   // Channel
 1085   MI.eraseFromParent();