mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Clean up Thumb load/store multiple definitions.
There is no non-writeback store multiple instruction in Thumb1, so don't define one. As a result load multiple is the only instantiation of the multiclass, so refactor that away entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138338 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -146,7 +146,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Opcode == ARM::tLDMIA || Opcode == ARM::tSTMIA) {
|
||||
if (Opcode == ARM::tLDMIA) {
|
||||
bool Writeback = true;
|
||||
unsigned BaseReg = MI->getOperand(0).getReg();
|
||||
for (unsigned i = 3; i < MI->getNumOperands(); ++i) {
|
||||
@@ -154,12 +154,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) {
|
||||
Writeback = false;
|
||||
}
|
||||
|
||||
if (Opcode == ARM::tLDMIA)
|
||||
O << "\tldm";
|
||||
else if (Opcode == ARM::tSTMIA)
|
||||
O << "\tstm";
|
||||
else
|
||||
llvm_unreachable("Unknown opcode!");
|
||||
O << "\tldm";
|
||||
|
||||
printPredicateOperand(MI, 1, O);
|
||||
O << '\t' << getRegisterName(BaseReg);
|
||||
|
Reference in New Issue
Block a user