LLVM API Documentation
00001 //===-- IA64TargetAsmInfo.cpp - IA64 asm properties -------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file contains the declarations of the IA64TargetAsmInfo properties. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #include "IA64TargetAsmInfo.h" 00015 00016 using namespace llvm; 00017 00018 IA64TargetAsmInfo::IA64TargetAsmInfo(const TargetMachine &TM): 00019 ELFTargetAsmInfo(TM) { 00020 CommentString = "//"; 00021 Data8bitsDirective = "\tdata1\t"; // FIXME: check that we are 00022 Data16bitsDirective = "\tdata2.ua\t"; // disabling auto-alignment 00023 Data32bitsDirective = "\tdata4.ua\t"; // properly 00024 Data64bitsDirective = "\tdata8.ua\t"; 00025 ZeroDirective = "\t.skip\t"; 00026 AsciiDirective = "\tstring\t"; 00027 00028 GlobalVarAddrPrefix=""; 00029 GlobalVarAddrSuffix=""; 00030 FunctionAddrPrefix="@fptr("; 00031 FunctionAddrSuffix=")"; 00032 00033 // FIXME: would be nice to have rodata (no 'w') when appropriate? 00034 ConstantPoolSection = "\n\t.section .data, \"aw\", \"progbits\"\n"; 00035 } 00036 00037 // FIXME: Support small data/bss/rodata sections someday.