[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp PowerPCAsmPrinter.cpp PowerPCTargetMachine.h

Nate Begeman natebegeman at mac.com
Fri Nov 26 20:45:22 PST 2004



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelSimple.cpp updated: 1.112 -> 1.113
PowerPCAsmPrinter.cpp updated: 1.68 -> 1.69
PowerPCTargetMachine.h updated: 1.10 -> 1.11
---
Log message:

Remove the ISel->AsmPrinter link via the TargetMachine that was put in
place to help bring up the PowerPC back end on Darwin.  This code is no
longer serves any purpose now that the AsmPrinter does the right thing
all the time printing GlobalValues.  --Cruft.


---
Diffs of the changes:  (+2 -24)

Index: llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp:1.112 llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp:1.113
--- llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp:1.112	Thu Nov 25 01:09:01 2004
+++ llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp	Fri Nov 26 22:45:11 2004
@@ -708,9 +708,6 @@
     } else {
       BuildMI(*MBB, IP, PPC::LA, 2, R).addReg(TmpReg).addGlobalAddress(GV);
     }
-  
-    // Add the GV to the list of things whose addresses have been taken.
-    TM.AddressTaken.insert(GV);
   } else {
     std::cerr << "Offending constant: " << *C << "\n";
     assert(0 && "Type not handled yet!");
@@ -1857,8 +1854,6 @@
     }
     // Emit a CALL instruction with PC-relative displacement.
     TheCall = BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(F, true);
-    // Add it to the set of functions called to be used by the Printer
-    TM.CalledFunctions.insert(F);
   } else {  // Emit an indirect call through the CTR
     unsigned Reg = getReg(CI.getCalledValue());
     BuildMI(BB, PPC::OR, 2, PPC::R12).addReg(Reg).addReg(Reg);
@@ -2646,7 +2641,6 @@
       Args.push_back(ValueRecord(Op0Reg, Type::FloatTy));
       Args.push_back(ValueRecord(Op1Reg, Type::FloatTy));
       doCall(ValueRecord(ResultReg, Type::FloatTy), TheCall, Args, false);
-      TM.CalledFunctions.insert(fmodfFn);
     }
     return;
   case cFP64:
@@ -2664,7 +2658,6 @@
       Args.push_back(ValueRecord(Op0Reg, Type::DoubleTy));
       Args.push_back(ValueRecord(Op1Reg, Type::DoubleTy));
       doCall(ValueRecord(ResultReg, Type::DoubleTy), TheCall, Args, false);
-      TM.CalledFunctions.insert(fmodFn);
     }
     return;
   case cLong: {
@@ -2680,7 +2673,6 @@
     Args.push_back(ValueRecord(Op0Reg, Type::LongTy));
     Args.push_back(ValueRecord(Op1Reg, Type::LongTy));
     doCall(ValueRecord(ResultReg, Type::LongTy), TheCall, Args, false);
-    TM.CalledFunctions.insert(Funcs[NameIdx]);
     return;
   }
   case cByte: case cShort: case cInt:
@@ -3272,7 +3264,6 @@
         MachineInstr *TheCall =
           BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(floatFn, true);
         doCall(ValueRecord(DestReg, DestTy), TheCall, Args, false);
-        TM.CalledFunctions.insert(floatFn);
       } else {
         std::vector<ValueRecord> CmpArgs, ClrArgs, SetArgs;
         unsigned ZeroLong = getReg(ConstantUInt::get(SrcTy, 0));
@@ -3295,7 +3286,6 @@
         MachineInstr *TheCall =
           BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(__cmpdi2Fn, true);
         doCall(ValueRecord(CondReg, Type::IntTy), TheCall, CmpArgs, false);
-        TM.CalledFunctions.insert(__cmpdi2Fn);
         BuildMI(*MBB, IP, PPC::CMPWI, 2, PPC::CR0).addReg(CondReg).addSImm(0);
         BuildMI(*MBB, IP, PPC::BLE, 2).addReg(PPC::CR0).addMBB(SetMBB);
 
@@ -3305,7 +3295,6 @@
         ClrArgs.push_back(ValueRecord(SrcReg, SrcTy));
         TheCall = BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(floatFn, true);
         doCall(ValueRecord(ClrReg, DestTy), TheCall, ClrArgs, false);
-        TM.CalledFunctions.insert(floatFn);
         BuildMI(BB, PPC::B, 1).addMBB(PhiMBB);
         BB->addSuccessor(PhiMBB);
         
@@ -3320,7 +3309,6 @@
         SetArgs.push_back(ValueRecord(ShiftedReg, SrcTy));
         TheCall = BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(floatFn, true);
         doCall(ValueRecord(CallReg, DestTy), TheCall, SetArgs, false);
-        TM.CalledFunctions.insert(floatFn);
         unsigned SetOpcode = (DestClass == cFP32) ? PPC::FADDS : PPC::FADD;
         BuildMI(BB, SetOpcode, 2, SetReg).addReg(CallReg).addReg(CallReg);
         BB->addSuccessor(PhiMBB);
@@ -3389,7 +3377,6 @@
       MachineInstr *TheCall =
         BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(floatFn, true);
       doCall(ValueRecord(DestReg, DestTy), TheCall, Args, false);
-      TM.CalledFunctions.insert(floatFn);
       return;
     }
 
@@ -3928,7 +3915,6 @@
   MachineInstr *TheCall = 
     BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(mallocFn, true);
   doCall(ValueRecord(getReg(I), I.getType()), TheCall, Args, false);
-  TM.CalledFunctions.insert(mallocFn);
 }
 
 /// visitFreeInst - Free instructions are code gen'd to call the free libc
@@ -3940,7 +3926,6 @@
   MachineInstr *TheCall = 
     BuildMI(PPC::CALLpcrel, 1).addGlobalAddress(freeFn, true);
   doCall(ValueRecord(0, Type::VoidTy), TheCall, Args, false);
-  TM.CalledFunctions.insert(freeFn);
 }
    
 /// createPPC32ISelSimple - This pass converts an LLVM function into a machine


Index: llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.68 llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.69
--- llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.68	Thu Nov 25 01:09:01 2004
+++ llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp	Fri Nov 26 22:45:11 2004
@@ -360,15 +360,14 @@
     // wary however not to output $stub for external functions whose addresses
     // are taken.  Those should be emitted as $non_lazy_ptr below.
     Function *F = dyn_cast<Function>(GV);
-    if (F && F->isExternal() && IsCallOp && getTM().CalledFunctions.count(F)) {
+    if (F && IsCallOp && F->isExternal()) {
       FnStubs.insert(Name);
       O << "L" << Name << "$stub";
       return;
     }
     
     // External or weakly linked global variables need non-lazily-resolved stubs
-    if ((GV->isExternal() || GV->hasWeakLinkage() || GV->hasLinkOnceLinkage())
-         && getTM().AddressTaken.count(GV)) {
+    if ((GV->isExternal() || GV->hasWeakLinkage() || GV->hasLinkOnceLinkage())){
       if (GV->hasLinkOnceLinkage())
         LinkOnceStubs.insert(Name);
       else


Index: llvm/lib/Target/PowerPC/PowerPCTargetMachine.h
diff -u llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.10 llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.11
--- llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.10	Mon Nov 22 23:55:38 2004
+++ llvm/lib/Target/PowerPC/PowerPCTargetMachine.h	Fri Nov 26 22:45:11 2004
@@ -17,7 +17,6 @@
 #include "PowerPCFrameInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/PassManager.h"
-#include <set>
 
 namespace llvm {
 
@@ -34,11 +33,6 @@
   virtual const TargetFrameInfo  *getFrameInfo() const { return &FrameInfo; }
 
   virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out);
-
-  // Two shared sets between the instruction selector and the printer allow for
-  // correct linkage on Darwin
-  std::set<GlobalValue*> CalledFunctions;
-  std::set<GlobalValue*> AddressTaken;
 };
 
 } // end namespace llvm






More information about the llvm-commits mailing list