MSP430Subtarget.cpp revision f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8
1f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//===- MSP430Subtarget.cpp - MSP430 Subtarget Information ---------*- C++ -*-=//
2f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//
3f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//                     The LLVM Compiler Infrastructure
4f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//
5f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov// This file is distributed under the University of Illinois Open Source
6f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov// License. See LICENSE.TXT for details.
7f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//
8f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//===----------------------------------------------------------------------===//
9f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//
10f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov// This file implements the MSP430 specific subclass of TargetSubtarget.
11f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//
12f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov//===----------------------------------------------------------------------===//
13f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov
14f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov#include "MSP430Subtarget.h"
15f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov#include "MSP430.h"
16f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov#include "MSP430GenSubtarget.inc"
17f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov#include "llvm/Target/TargetMachine.h"
18f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov
19f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikovusing namespace llvm;
20f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov
21f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton KorobeynikovMSP430Subtarget::MSP430Subtarget(const TargetMachine &TM, const Module &M,
22f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov                                 const std::string &FS) {
23f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov  std::string CPU = "generic";
24f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov
25f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov  // Parse features string.
26f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov  ParseSubtargetFeatures(FS, CPU);
27f2c3e179ecc2a6ebc259382828a5e5dc5a61d2f8Anton Korobeynikov}
28