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