From 9c661c8e26e93cbc1080d881e422cbcb4ca02e7b Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Mon, 28 Jun 2004 17:57:40 +0000 Subject: [PATCH] Do not set the `link' bit when branching to the first BB of a function, as it will cause an infinite loop. The link bit is only used for calling functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14466 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPC32AsmPrinter.cpp | 4 ++-- lib/Target/PowerPC/PPCAsmPrinter.cpp | 4 ++-- lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/lib/Target/PowerPC/PPC32AsmPrinter.cpp index c5825a786f0..636b1c413db 100644 --- a/lib/Target/PowerPC/PPC32AsmPrinter.cpp +++ b/lib/Target/PowerPC/PPC32AsmPrinter.cpp @@ -423,7 +423,7 @@ void Printer::printOp(const MachineOperand &MO, } case MachineOperand::MO_PCRelativeDisp: std::cerr << "Shouldn't use addPCDisp() when building PPC MachineInstrs"; - abort (); + abort(); return; case MachineOperand::MO_GlobalAddress: if (!elideOffsetKeyword) { @@ -507,7 +507,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { if (Opcode == PPC32::MovePCtoLR) { O << "mflr r0\n"; - O << "\tbcl 20,31,L" << CurrentFnName << "$pb\n"; + O << "\tbc 20,31,L" << CurrentFnName << "$pb\n"; O << "L" << CurrentFnName << "$pb:\n"; return; } diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index c5825a786f0..636b1c413db 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -423,7 +423,7 @@ void Printer::printOp(const MachineOperand &MO, } case MachineOperand::MO_PCRelativeDisp: std::cerr << "Shouldn't use addPCDisp() when building PPC MachineInstrs"; - abort (); + abort(); return; case MachineOperand::MO_GlobalAddress: if (!elideOffsetKeyword) { @@ -507,7 +507,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { if (Opcode == PPC32::MovePCtoLR) { O << "mflr r0\n"; - O << "\tbcl 20,31,L" << CurrentFnName << "$pb\n"; + O << "\tbc 20,31,L" << CurrentFnName << "$pb\n"; O << "L" << CurrentFnName << "$pb:\n"; return; } diff --git a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index c5825a786f0..636b1c413db 100644 --- a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -423,7 +423,7 @@ void Printer::printOp(const MachineOperand &MO, } case MachineOperand::MO_PCRelativeDisp: std::cerr << "Shouldn't use addPCDisp() when building PPC MachineInstrs"; - abort (); + abort(); return; case MachineOperand::MO_GlobalAddress: if (!elideOffsetKeyword) { @@ -507,7 +507,7 @@ void Printer::printMachineInstruction(const MachineInstr *MI) { if (Opcode == PPC32::MovePCtoLR) { O << "mflr r0\n"; - O << "\tbcl 20,31,L" << CurrentFnName << "$pb\n"; + O << "\tbc 20,31,L" << CurrentFnName << "$pb\n"; O << "L" << CurrentFnName << "$pb:\n"; return; } -- 2.11.0