blob: 56539696cde27e43130ce19d340411d346617919 [file] [log] [blame]
Jim Laskey8e8de8f2006-09-07 22:05:02 +00001//=====-- ARMTargetAsmInfo.h - ARM asm properties -------------*- C++ -*--====//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner4ee451d2007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Jim Laskey8e8de8f2006-09-07 22:05:02 +00007//
8//===----------------------------------------------------------------------===//
9//
10// This file contains the declaration of the ARMTargetAsmInfo class.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef ARMTARGETASMINFO_H
15#define ARMTARGETASMINFO_H
16
17#include "llvm/Target/TargetAsmInfo.h"
Dale Johannesen67cf5612007-05-02 01:02:40 +000018#include "ARMSubtarget.h"
Jim Laskey8e8de8f2006-09-07 22:05:02 +000019
20namespace llvm {
21
22 // Forward declaration.
23 class ARMTargetMachine;
24
25 struct ARMTargetAsmInfo : public TargetAsmInfo {
Dan Gohman677ccc62007-09-25 20:27:06 +000026 explicit ARMTargetAsmInfo(const ARMTargetMachine &TM);
Dale Johannesen24fb52d2007-04-23 20:04:35 +000027
Dale Johannesen67cf5612007-05-02 01:02:40 +000028 const ARMSubtarget *Subtarget;
Dale Johannesen86501992007-04-29 19:17:45 +000029
30 virtual unsigned getInlineAsmLength(const char *Str) const;
Dale Johannesen67cf5612007-05-02 01:02:40 +000031 unsigned countArguments(const char *p) const;
32 unsigned countString(const char *p) const;
Jim Laskey8e8de8f2006-09-07 22:05:02 +000033 };
34
35
36} // namespace llvm
37
38#endif