SparcMCAsmInfo.cpp revision e752feee5228bfa33acee35ef9c606ce12f0f173
1af76e592c7f9deff0e55c13dbb4a34f07f1c7f64Chris Lattner//===-- SparcMCAsmInfo.cpp - Sparc asm properties -------------------------===// 28e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// 38e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// The LLVM Compiler Infrastructure 48e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// 54ee451de366474b9c228b4e5fa573795a715216dChris Lattner// This file is distributed under the University of Illinois Open Source 64ee451de366474b9c228b4e5fa573795a715216dChris Lattner// License. See LICENSE.TXT for details. 78e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// 88e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey//===----------------------------------------------------------------------===// 98e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// 10af76e592c7f9deff0e55c13dbb4a34f07f1c7f64Chris Lattner// This file contains the declarations of the SparcMCAsmInfo properties. 118e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey// 128e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey//===----------------------------------------------------------------------===// 138e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey 14af76e592c7f9deff0e55c13dbb4a34f07f1c7f64Chris Lattner#include "SparcMCAsmInfo.h" 151be0e271a07925b928ba89848934f1ea6f1854e2Evan Cheng#include "llvm/ADT/Triple.h" 161be0e271a07925b928ba89848934f1ea6f1854e2Evan Cheng 178e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskeyusing namespace llvm; 188e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey 192d24e2a396a1d211baaeedf32148a3b657240170David Blaikievoid SparcELFMCAsmInfo::anchor() { } 202d24e2a396a1d211baaeedf32148a3b657240170David Blaikie 2138e59891ee4417a9be2f8146ce0ba3269e38ac21Benjamin KramerSparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, StringRef TT) { 221be0e271a07925b928ba89848934f1ea6f1854e2Evan Cheng IsLittleEndian = false; 231be0e271a07925b928ba89848934f1ea6f1854e2Evan Cheng Triple TheTriple(TT); 24e752feee5228bfa33acee35ef9c606ce12f0f173Eli Bendersky if (TheTriple.getArch() == Triple::sparcv9) { 25e752feee5228bfa33acee35ef9c606ce12f0f173Eli Bendersky PointerSize = CalleeSaveStackSlotSize = 8; 26e752feee5228bfa33acee35ef9c606ce12f0f173Eli Bendersky } 271be0e271a07925b928ba89848934f1ea6f1854e2Evan Cheng 288e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey Data16bitsDirective = "\t.half\t"; 298e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey Data32bitsDirective = "\t.word\t"; 308e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey Data64bitsDirective = 0; // .xword is only supported by V9. 318e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey ZeroDirective = "\t.skip\t"; 328e8de8f7765a08ab3aa4f48b302cf19ccb9740e2Jim Laskey CommentString = "!"; 33930e4d96e8718abcb56212676c35e6f7ea0ab605Richard Pennington HasLEB128 = true; 34930e4d96e8718abcb56212676c35e6f7ea0ab605Richard Pennington SupportsDebugInformation = true; 355277b22687d3513dd29d5a9c8510cac740f933f6Chris Lattner 365277b22687d3513dd29d5a9c8510cac740f933f6Chris Lattner SunStyleELFSectionSwitchSyntax = true; 37eb2aa096bb8aba742b87a99d561185bb3f8863c5Venkatraman Govindaraju UsesELFSectionDirectiveForBSS = true; 38eb2aa096bb8aba742b87a99d561185bb3f8863c5Venkatraman Govindaraju 39eb2aa096bb8aba742b87a99d561185bb3f8863c5Venkatraman Govindaraju WeakRefDirective = "\t.weak\t"; 40eb2aa096bb8aba742b87a99d561185bb3f8863c5Venkatraman Govindaraju 41eb2aa096bb8aba742b87a99d561185bb3f8863c5Venkatraman Govindaraju PrivateGlobalPrefix = ".L"; 425b794b98cebbc3982b87780657e0d280c2bcdd04Anton Korobeynikov} 435b794b98cebbc3982b87780657e0d280c2bcdd04Anton Korobeynikov 445b794b98cebbc3982b87780657e0d280c2bcdd04Anton Korobeynikov 45