1 //===-- PIC16TargetAsmInfo.cpp - PIC16 asm properties ---------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the declarations of the PIC16TargetAsmInfo properties.
12 //===----------------------------------------------------------------------===//
14 #include "PIC16TargetAsmInfo.h"
16 // FIXME: Layering violation to get enums and static function, should be moved
17 // to separate headers.
19 #include "PIC16ISelLowering.h"
22 PIC16TargetAsmInfo::PIC16TargetAsmInfo(const Target
&T
, const StringRef
&TT
) {
24 GlobalPrefix
= PAN::getTagName(PAN::PREFIX_SYMBOL
);
25 GlobalDirective
= "\tglobal\t";
26 ExternDirective
= "\textern\t";
28 Data8bitsDirective
= " db ";
29 Data16bitsDirective
= " dw ";
30 Data32bitsDirective
= " dl ";
31 Data64bitsDirective
= NULL
;
33 AsciiDirective
= " dt ";
34 AscizDirective
= NULL
;
36 RomData8bitsDirective
= " dw ";
37 RomData16bitsDirective
= " rom_di ";
38 RomData32bitsDirective
= " rom_dl ";
41 // Set it to false because we weed to generate c file name and not bc file
43 HasSingleParameterDotFile
= false;
46 const char *PIC16TargetAsmInfo::
47 getDataASDirective(unsigned Size
, unsigned AS
) const {
48 if (AS
!= PIC16ISD::ROM_SPACE
)
52 case 8: return RomData8bitsDirective
;
53 case 16: return RomData16bitsDirective
;
54 case 32: return RomData32bitsDirective
;