diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-07-31 21:39:55 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-07-31 21:39:55 +0000 | 
| commit | 63779b8d5766900a361857dd4927e1232c184bee (patch) | |
| tree | 1f60d3b1c7c488bc8901e1acdf616c0e28586da2 /llvm/lib | |
| parent | d65ab045e84c265e39e5cab9606c4489c9d21304 (diff) | |
| download | bcm5719-llvm-63779b8d5766900a361857dd4927e1232c184bee.tar.gz bcm5719-llvm-63779b8d5766900a361857dd4927e1232c184bee.zip  | |
PreferredEHDataFormat is always call with data and global, but this whole
thing is #if0'd out anyway.  Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.
llvm-svn: 77736
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/TargetAsmInfo.cpp | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetAsmInfo.cpp | 52 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetAsmInfo.h | 9 | 
4 files changed, 19 insertions, 47 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp index 49512a3bb4e..a05bbb2b6f7 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp @@ -557,7 +557,7 @@ void DwarfException::EmitExceptionTable() {  #if 0    // FIXME: This should default to what the system wants, not just "absptr".    if (!TypeInfos.empty() || !FilterIds.empty()) { -    Asm->EmitInt8(TAI->PreferredEHDataFormat(DwarfEncoding::Data, true)); +    Asm->EmitInt8(TAI->PreferredEHDataFormat());      // FIXME: The comment here should correspond with what PreferredEHDataFormat      // returned.      Asm->EOL("TType format (DW_EH_PE_xxxxx)"); diff --git a/llvm/lib/Target/TargetAsmInfo.cpp b/llvm/lib/Target/TargetAsmInfo.cpp index e71bd01aae0..4c6100ba882 100644 --- a/llvm/lib/Target/TargetAsmInfo.cpp +++ b/llvm/lib/Target/TargetAsmInfo.cpp @@ -148,8 +148,7 @@ unsigned TargetAsmInfo::getInlineAsmLength(const char *Str) const {    return Length;  } -unsigned TargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                              bool Global) const { +unsigned TargetAsmInfo::PreferredEHDataFormat() const {    return dwarf::DW_EH_PE_absptr;  } diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp index 3223f3cb72f..09adc433e74 100644 --- a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp @@ -91,19 +91,10 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):    DwarfExceptionSection = ".section __DATA,__gcc_except_tab";  } -unsigned -X86DarwinTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                              bool Global) const { +unsigned X86DarwinTargetAsmInfo::PreferredEHDataFormat() const {    const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>(); - -  if (Subtarget->getDarwinVers() > 9) { -    if ((Reason == DwarfEncoding::Data || Reason == DwarfEncoding::Functions) -        && Global) -      return DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4; - -    if (Reason == DwarfEncoding::CodeLabels || !Global) -      return DW_EH_PE_pcrel; -  } +  if (Subtarget->getDarwinVers() > 9) +    return DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4;    return DW_EH_PE_absptr;  } @@ -155,8 +146,7 @@ X86ELFTargetAsmInfo::X86ELFTargetAsmInfo(const X86TargetMachine &TM) :  }  unsigned -X86ELFTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                           bool Global) const { +X86ELFTargetAsmInfo::PreferredEHDataFormat() const {    CodeModel::Model CM = TM.getCodeModel();    bool is64Bit = TM.getSubtarget<X86Subtarget>().is64Bit(); @@ -171,32 +161,24 @@ X86ELFTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason,        // - code model is small OR        // - code model is medium and we're emitting externally visible symbols        //   or any code symbols -      if (CM == CodeModel::Small || -          (CM == CodeModel::Medium && (Global || -                                       Reason != DwarfEncoding::Data))) +      if (CM == CodeModel::Small || CM == CodeModel::Medium)          Format = DW_EH_PE_sdata4;        else          Format = DW_EH_PE_sdata8;      } -    if (Global) -      Format |= DW_EH_PE_indirect; - +    Format |= DW_EH_PE_indirect;      return (Format | DW_EH_PE_pcrel); -  } else { -    if (is64Bit && -        (CM == CodeModel::Small || -         (CM == CodeModel::Medium && Reason != DwarfEncoding::Data))) -      return DW_EH_PE_udata4; -    else -      return DW_EH_PE_absptr;    } +   +  if (is64Bit && CM == CodeModel::Small) +    return DW_EH_PE_udata4; +  return DW_EH_PE_absptr;  }  unsigned -X86COFFTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                            bool Global) const { +X86COFFTargetAsmInfo::PreferredEHDataFormat() const {    CodeModel::Model CM = TM.getCodeModel();    bool is64Bit = TM.getSubtarget<X86Subtarget>().is64Bit(); @@ -211,23 +193,17 @@ X86COFFTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason,        // - code model is small OR        // - code model is medium and we're emitting externally visible symbols        //   or any code symbols -      if (CM == CodeModel::Small || -          (CM == CodeModel::Medium && (Global || -                                       Reason != DwarfEncoding::Data))) +      if (CM == CodeModel::Small || CM == CodeModel::Medium)          Format = DW_EH_PE_sdata4;        else          Format = DW_EH_PE_sdata8;      } -    if (Global) -      Format |= DW_EH_PE_indirect; - +    Format |= DW_EH_PE_indirect;      return (Format | DW_EH_PE_pcrel);    } -  if (is64Bit && -      (CM == CodeModel::Small || -       (CM == CodeModel::Medium && Reason != DwarfEncoding::Data))) +  if (is64Bit && CM == CodeModel::Small)      return DW_EH_PE_udata4;    return DW_EH_PE_absptr;  } diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.h b/llvm/lib/Target/X86/X86TargetAsmInfo.h index 9b4e8092ae4..3cc027185c9 100644 --- a/llvm/lib/Target/X86/X86TargetAsmInfo.h +++ b/llvm/lib/Target/X86/X86TargetAsmInfo.h @@ -37,22 +37,19 @@ namespace llvm {    struct X86DarwinTargetAsmInfo : public X86TargetAsmInfo<DarwinTargetAsmInfo> {      explicit X86DarwinTargetAsmInfo(const X86TargetMachine &TM); -    virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                           bool Global) const; +    virtual unsigned PreferredEHDataFormat() const;      virtual const char *getEHGlobalPrefix() const;    };    struct X86ELFTargetAsmInfo : public X86TargetAsmInfo<ELFTargetAsmInfo> {      explicit X86ELFTargetAsmInfo(const X86TargetMachine &TM); -    virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                           bool Global) const; +    virtual unsigned PreferredEHDataFormat() const;    };    struct X86COFFTargetAsmInfo : public X86TargetAsmInfo<COFFTargetAsmInfo> {      explicit X86COFFTargetAsmInfo(const X86TargetMachine &TM) :        X86TargetAsmInfo<COFFTargetAsmInfo>(TM) {} -    virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason, -                                           bool Global) const; +    virtual unsigned PreferredEHDataFormat() const;    };  | 

