Home | History | Annotate | Download | only in AArch64

Lines Matching refs:Update

76   // Scan the instruction list to find a base register update that can
83 // Scan the instruction list to find a base register update that can
89 // Merge a pre-index base register update into a ld/st instruction.
92 MachineBasicBlock::iterator Update);
94 // Merge a post-index base register update into a ld/st instruction.
97 MachineBasicBlock::iterator Update);
508 // Update modified / uses register lists.
521 MachineBasicBlock::iterator Update) {
522 assert((Update->getOpcode() == AArch64::ADDXri ||
523 Update->getOpcode() == AArch64::SUBXri) &&
524 "Unexpected base register update instruction to merge!");
529 if (++NextI == Update)
532 int Value = Update->getOperand(2).getImm();
533 assert(AArch64_AM::getShiftValue(Update->getOperand(3).getImm()) == 0 &&
535 if (Update->getOpcode() == AArch64::SUBXri)
541 .addOperand(Update->getOperand(0))
551 DEBUG(Update->print(dbgs()));
558 Update->eraseFromParent();
564 MachineBasicBlock::iterator I, MachineBasicBlock::iterator Update) {
565 assert((Update->getOpcode() == AArch64::ADDXri ||
566 Update->getOpcode() == AArch64::SUBXri) &&
567 "Unexpected base register update instruction to merge!");
572 if (++NextI == Update)
575 int Value = Update->getOperand(2).getImm();
576 assert(AArch64_AM::getShiftValue(Update->getOperand(3).getImm()) == 0 &&
578 if (Update->getOpcode() == AArch64::SUBXri)
584 .addOperand(Update->getOperand(0))
594 DEBUG(Update->print(dbgs()));
601 Update->eraseFromParent();
652 // merge the update.
682 // Update the status of what the instruction clobbered and used.
707 // not any matching update. Ditto if the memory offset isn't zero.
711 // merge the update.
735 // Update the status of what the instruction clobbered and used.
835 // Do update merging. It's simpler to keep this separate from the above
870 MachineBasicBlock::iterator Update =
872 if (Update != E) {
873 // Merge the update into the ld/st.
874 MBBI = mergePostIdxUpdateInsn(MBBI, Update);
891 Update = findMatchingUpdateInsnBackward(MBBI, ScanLimit);
892 if (Update != E) {
893 // Merge the update into the ld/st.
894 MBBI = mergePreIdxUpdateInsn(MBBI, Update);
912 Update = findMatchingUpdateInsnForward(MBBI, ScanLimit, Value);
913 if (Update != E) {
914 // Merge the update into the ld/st.
915 MBBI = mergePreIdxUpdateInsn(MBBI, Update);