blob: 44d10979ca2619998864d8f928b5e74e249474ba [file] [log] [blame]
Evan Chenga347f852011-06-24 01:44:41 +00001//===-- X86TargetDesc.cpp - X86 Target Descriptions -------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file provides X86 specific target descriptions.
11//
12//===----------------------------------------------------------------------===//
13
14#include "X86TargetDesc.h"
Evan Cheng22fee2d2011-06-28 20:07:07 +000015#include "llvm/MC/MCInstrInfo.h"
Evan Chenga347f852011-06-24 01:44:41 +000016#include "llvm/MC/MCRegisterInfo.h"
Evan Chengf5fa52e2011-06-24 20:42:09 +000017#include "llvm/Target/TargetRegistry.h"
Evan Cheng73f50d92011-06-27 18:32:37 +000018
19#define GET_REGINFO_MC_DESC
20#include "X86GenRegisterInfo.inc"
Evan Cheng22fee2d2011-06-28 20:07:07 +000021
22#define GET_INSTRINFO_MC_DESC
23#include "X86GenInstrInfo.inc"
24
Evan Chenga347f852011-06-24 01:44:41 +000025using namespace llvm;
26
Evan Cheng94b01f62011-06-28 20:29:03 +000027MCInstrInfo *createX86MCInstrInfo() {
28 MCInstrInfo *X = new MCInstrInfo();
29 InitX86MCInstrInfo(X);
30 return X;
31}
32
Evan Chenga347f852011-06-24 01:44:41 +000033MCRegisterInfo *createX86MCRegisterInfo() {
34 MCRegisterInfo *X = new MCRegisterInfo();
35 InitX86MCRegisterInfo(X);
36 return X;
37}
Evan Chengf5fa52e2011-06-24 20:42:09 +000038
39// Force static initialization.
40extern "C" void LLVMInitializeX86MCRegInfo() {
41 RegisterMCRegInfo<MCRegisterInfo> X(TheX86_32Target);
42 RegisterMCRegInfo<MCRegisterInfo> Y(TheX86_64Target);
43
44 TargetRegistry::RegisterMCRegInfo(TheX86_32Target, createX86MCRegisterInfo);
45 TargetRegistry::RegisterMCRegInfo(TheX86_64Target, createX86MCRegisterInfo);
46}