1 //==-- MSP430.h - Top-level interface for MSP430 representation --*- C++ -*-==// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file contains the entry points for global functions defined in 10 // the LLVM MSP430 backend. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_LIB_TARGET_MSP430_MSP430_H 15 #define LLVM_LIB_TARGET_MSP430_MSP430_H 16 17 #include "MCTargetDesc/MSP430MCTargetDesc.h" 18 #include "llvm/Target/TargetMachine.h" 19 20 namespace MSP430CC { 21 // MSP430 specific condition code. 22 enum CondCodes { 23 COND_E = 0, // aka COND_Z 24 COND_NE = 1, // aka COND_NZ 25 COND_HS = 2, // aka COND_C 26 COND_LO = 3, // aka COND_NC 27 COND_GE = 4, 28 COND_L = 5, 29 COND_N = 6, // jump if negative 30 COND_NONE, // unconditional 31 32 COND_INVALID = -1 33 }; 34 } 35 36 namespace llvm { 37 class FunctionPass; 38 class MSP430TargetMachine; 39 class PassRegistry; 40 41 FunctionPass *createMSP430ISelDag(MSP430TargetMachine &TM, 42 CodeGenOpt::Level OptLevel); 43 44 FunctionPass *createMSP430BranchSelectionPass(); 45 46 void initializeMSP430DAGToDAGISelPass(PassRegistry &); 47 48 } // namespace llvm 49 50 #endif 51