MSP430ISelLowering.h revision c8fbb6ae2041f17285e4ba73d54d388e703b9689
1//==-- MSP430ISelLowering.h - MSP430 DAG Lowering Interface ------*- 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 defines the interfaces that MSP430 uses to lower LLVM code into a 11// selection DAG. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef LLVM_TARGET_MSP430_ISELLOWERING_H 16#define LLVM_TARGET_MSP430_ISELLOWERING_H 17 18#include "MSP430.h" 19#include "llvm/CodeGen/SelectionDAG.h" 20#include "llvm/Target/TargetLowering.h" 21 22namespace llvm { 23 24 class MSP430Subtarget; 25 class MSP430TargetMachine; 26 27 class MSP430TargetLowering : public TargetLowering { 28 public: 29 explicit MSP430TargetLowering(MSP430TargetMachine &TM); 30 31 /// LowerOperation - Provide custom lowering hooks for some operations. 32 virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG); 33 SDValue LowerFORMAL_ARGUMENTS(SDValue Op, SelectionDAG &DAG); 34 SDValue LowerCCCArguments(SDValue Op, SelectionDAG &DAG); 35 36 private: 37 const MSP430Subtarget &Subtarget; 38 const MSP430TargetMachine &TM; 39 }; 40} // namespace llvm 41 42#endif // LLVM_TARGET_MSP430_ISELLOWERING_H 43