blob: 796f25233123a9572684e57a49544003ada0dfce [file] [log] [blame]
Anton Korobeynikov10138002009-05-03 12:57:15 +00001//==-- MSP430.h - Top-level interface for MSP430 representation --*- 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 contains the entry points for global functions defined in
11// the LLVM MSP430 backend.
12//
13//===----------------------------------------------------------------------===//
14
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000015#ifndef LLVM_LIB_TARGET_MSP430_MSP430_H
16#define LLVM_LIB_TARGET_MSP430_MSP430_H
Anton Korobeynikov10138002009-05-03 12:57:15 +000017
Evan Chengbc153d42011-07-14 20:59:42 +000018#include "MCTargetDesc/MSP430MCTargetDesc.h"
Anton Korobeynikov1324f812009-05-03 13:19:42 +000019#include "llvm/Target/TargetMachine.h"
20
Anton Korobeynikov2983dcb2009-10-21 19:16:49 +000021namespace MSP430CC {
22 // MSP430 specific condition code.
23 enum CondCodes {
24 COND_E = 0, // aka COND_Z
25 COND_NE = 1, // aka COND_NZ
26 COND_HS = 2, // aka COND_C
27 COND_LO = 3, // aka COND_NC
28 COND_GE = 4,
29 COND_L = 5,
30
31 COND_INVALID = -1
32 };
Alexander Kornienkof00654e2015-06-23 09:49:53 +000033}
Anton Korobeynikov2983dcb2009-10-21 19:16:49 +000034
Anton Korobeynikov10138002009-05-03 12:57:15 +000035namespace llvm {
36 class MSP430TargetMachine;
37 class FunctionPass;
David Greenea31f96c2009-07-14 20:18:05 +000038 class formatted_raw_ostream;
Anton Korobeynikov10138002009-05-03 12:57:15 +000039
Anton Korobeynikov1324f812009-05-03 13:19:42 +000040 FunctionPass *createMSP430ISelDag(MSP430TargetMachine &TM,
41 CodeGenOpt::Level OptLevel);
Daniel Dunbar67038c12009-07-18 23:03:22 +000042
Anton Korobeynikovce52fd52010-01-15 21:19:05 +000043 FunctionPass *createMSP430BranchSelectionPass();
44
Alexander Kornienkof00654e2015-06-23 09:49:53 +000045} // end namespace llvm;
Anton Korobeynikov10138002009-05-03 12:57:15 +000046
Anton Korobeynikov10138002009-05-03 12:57:15 +000047#endif