diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2011-10-20 21:10:27 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2011-10-20 21:10:27 +0000 | 
| commit | 30815c536baacc07e925f0aef23a5395883173dc (patch) | |
| tree | 2cbcf22585e99f8a87d12d5ff94f392c0d266819 /lib/Target/TargetLoweringObjectFile.cpp | |
| parent | 411bd29eea3c360d5b48a18a17b5e87f5671af0e (diff) | |
Notes
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
| -rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 59 | 
1 files changed, 12 insertions, 47 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 703431b3806e..56b7b69de0bd 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -35,34 +35,16 @@ using namespace llvm;  //                              Generic Code  //===----------------------------------------------------------------------===// -TargetLoweringObjectFile::TargetLoweringObjectFile() : -  Ctx(0), -  TextSection(0), -  DataSection(0), -  BSSSection(0), -  ReadOnlySection(0), -  StaticCtorSection(0), -  StaticDtorSection(0), -  LSDASection(0), -  CompactUnwindSection(0), -  DwarfAbbrevSection(0), -  DwarfInfoSection(0), -  DwarfLineSection(0), -  DwarfFrameSection(0), -  DwarfPubNamesSection(0), -  DwarfPubTypesSection(0), -  DwarfDebugInlineSection(0), -  DwarfStrSection(0), -  DwarfLocSection(0), -  DwarfARangesSection(0), -  DwarfRangesSection(0), -  DwarfMacroInfoSection(0), -  TLSExtraDataSection(0), -  CommDirectiveSupportsAlignment(true), -  SupportsWeakOmittedEHFrame(true),  -  IsFunctionEHFrameSymbolPrivate(true) { +/// Initialize - this method must be called before any actual lowering is +/// done.  This specifies the current context for codegen, and gives the +/// lowering implementations a chance to set up their default sections. +void TargetLoweringObjectFile::Initialize(MCContext &ctx, +                                          const TargetMachine &TM) { +  Ctx = &ctx; +  InitMCObjectFileInfo(TM.getTargetTriple(), +                       TM.getRelocationModel(), TM.getCodeModel(), *Ctx);  } - +    TargetLoweringObjectFile::~TargetLoweringObjectFile() {  } @@ -93,7 +75,7 @@ static bool isSuitableForBSS(const GlobalVariable *GV) {  /// known to have a type that is an array of 1/2/4 byte elements) ends with a  /// nul value and contains no other nuls in it.  static bool IsNullTerminatedString(const Constant *C) { -  const ArrayType *ATy = cast<ArrayType>(C->getType()); +  ArrayType *ATy = cast<ArrayType>(C->getType());    // First check: is we have constant array of i8 terminated with zero    if (const ConstantArray *CVA = dyn_cast<ConstantArray>(C)) { @@ -188,8 +170,8 @@ SectionKind TargetLoweringObjectFile::getKindForGlobal(const GlobalValue *GV,        // If initializer is a null-terminated string, put it in a "cstring"        // section of the right width. -      if (const ArrayType *ATy = dyn_cast<ArrayType>(C->getType())) { -        if (const IntegerType *ITy = +      if (ArrayType *ATy = dyn_cast<ArrayType>(C->getType())) { +        if (IntegerType *ITy =                dyn_cast<IntegerType>(ATy->getElementType())) {            if ((ITy->getBitWidth() == 8 || ITy->getBitWidth() == 16 ||                 ITy->getBitWidth() == 32) && @@ -341,20 +323,3 @@ getExprForDwarfReference(const MCSymbol *Sym, unsigned Encoding,    }    }  } - -unsigned TargetLoweringObjectFile::getPersonalityEncoding() const { -  return dwarf::DW_EH_PE_absptr; -} - -unsigned TargetLoweringObjectFile::getLSDAEncoding() const { -  return dwarf::DW_EH_PE_absptr; -} - -unsigned TargetLoweringObjectFile::getFDEEncoding(bool CFI) const { -  return dwarf::DW_EH_PE_absptr; -} - -unsigned TargetLoweringObjectFile::getTTypeEncoding() const { -  return dwarf::DW_EH_PE_absptr; -} -  | 
