* PIC codegen for X86/Linux has been implemented

* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33136 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anton Korobeynikov
2007-01-12 19:20:47 +00:00
parent ab7752c149
commit 7f70559bc4
31 changed files with 607 additions and 178 deletions

View File

@ -162,6 +162,7 @@ public:
const Type* ElemType,
bool isConstant,
GlobalValue::LinkageTypes Linkage,
GlobalValue::VisibilityTypes Visibility,
unsigned SlotNum,
unsigned initSlot
) {
@ -169,7 +170,9 @@ public:
*os << " GV: "
<< ( initSlot == 0 ? "Uni" : "I" ) << "nitialized, "
<< ( isConstant? "Constant, " : "Variable, ")
<< " Linkage=" << Linkage << " Type=";
<< " Linkage=" << Linkage
<< " Visibility="<< Visibility
<< " Type=";
WriteTypeSymbolic(*os, ElemType, M);
*os << " Slot=" << SlotNum << " InitSlot=" << initSlot
<< "\n";
@ -206,6 +209,7 @@ public:
*os << " Function Decl: ";
WriteTypeSymbolic(*os,Func->getType(),M);
*os <<", Linkage=" << Func->getLinkage();
*os <<", Visibility=" << Func->getVisibility();
*os << "\n";
}
}
@ -311,6 +315,7 @@ public:
if (os) {
*os << " BLOCK: Function {\n"
<< " Linkage: " << Func->getLinkage() << "\n"
<< " Visibility: " << Func->getVisibility() << "\n"
<< " Type: ";
WriteTypeSymbolic(*os,Func->getType(),M);
*os << "\n";