Add support for multiple-return values in inline asm. This should
[oota-llvm.git] / lib / Target / TargetAsmInfo.cpp
index fc91871420d36ac1cae150ead540b8bd2e29a2d2..5fa5abec8e9f48fdf22bd886a2a55a8c4d0ea6a2 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by James M. Laskey and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -13,6 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/Support/Dwarf.h"
 #include <cctype>
 #include <cstring>
 
@@ -25,6 +26,7 @@ TargetAsmInfo::TargetAsmInfo() :
   TLSDataSection("\t.section .tdata,\"awT\",@progbits"),
   TLSBSSSection("\t.section .tbss,\"awT\",@nobits"),
   ZeroFillDirective(0),
+  NonexecutableStackDirective(0),
   NeedsSet(false),
   MaxInstLength(4),
   PCSymbol("$"),
@@ -53,6 +55,7 @@ TargetAsmInfo::TargetAsmInfo() :
   Data64bitsDirective("\t.quad\t"),
   AlignDirective("\t.align\t"),
   AlignmentIsInBytes(true),
+  TextAlignFillValue(0),
   SwitchToSectionDirective("\t.section\t"),
   TextSectionStartSuffix(""),
   DataSectionStartSuffix(""),
@@ -67,7 +70,7 @@ TargetAsmInfo::TargetAsmInfo() :
   EightByteConstantSection(0),
   SixteenByteConstantSection(0),
   ReadOnlySection(0),
-  GlobalDirective(0),
+  GlobalDirective("\t.globl\t"),
   SetDirective(0),
   LCOMMDirective(0),
   COMMDirective("\t.comm\t"),
@@ -86,6 +89,7 @@ TargetAsmInfo::TargetAsmInfo() :
   SupportsExceptionHandling(false),
   DwarfRequiresFrameSection(true),
   GlobalEHDirective(0),
+  SupportsWeakOmittedEHFrame(true),
   DwarfSectionOffsetDirective(0),
   DwarfAbbrevSection(".debug_abbrev"),
   DwarfInfoSection(".debug_info"),
@@ -132,3 +136,8 @@ unsigned TargetAsmInfo::getInlineAsmLength(const char *Str) const {
   return Length;
 }
 
+unsigned TargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason,
+                                              bool Global) const {
+  return dwarf::DW_EH_PE_absptr;
+}
+