Do not set the `link' bit when branching to the first BB of a function, as it
authorMisha Brukman <brukman+llvm@gmail.com>
Mon, 28 Jun 2004 17:57:40 +0000 (17:57 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Mon, 28 Jun 2004 17:57:40 +0000 (17:57 +0000)
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
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/PowerPC/PowerPCAsmPrinter.cpp

index c5825a786f07be2e5a8bd2bb69eac1632e0c60dc..636b1c413db1410390f2e5cc3b101a84631331e3 100644 (file)
@@ -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;
   }
index c5825a786f07be2e5a8bd2bb69eac1632e0c60dc..636b1c413db1410390f2e5cc3b101a84631331e3 100644 (file)
@@ -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;
   }
index c5825a786f07be2e5a8bd2bb69eac1632e0c60dc..636b1c413db1410390f2e5cc3b101a84631331e3 100644 (file)
@@ -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;
   }