40 lines · c
1//===-- XCore.h - Top-level interface for XCore 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-exception6//7//===----------------------------------------------------------------------===//8//9// This file contains the entry points for global functions defined in the LLVM10// XCore back-end.11//12//===----------------------------------------------------------------------===//13 14#ifndef LLVM_LIB_TARGET_XCORE_XCORE_H15#define LLVM_LIB_TARGET_XCORE_XCORE_H16 17#include "MCTargetDesc/XCoreMCTargetDesc.h"18#include "llvm/PassRegistry.h"19#include "llvm/Target/TargetMachine.h"20 21namespace llvm {22 class FunctionPass;23 class ModulePass;24 class PassRegistry;25 class TargetMachine;26 class XCoreTargetMachine;27 28 void initializeXCoreLowerThreadLocalPass(PassRegistry &p);29 30 FunctionPass *createXCoreFrameToArgsOffsetEliminationPass();31 FunctionPass *createXCoreISelDag(XCoreTargetMachine &TM,32 CodeGenOptLevel OptLevel);33 ModulePass *createXCoreLowerThreadLocalPass();34 void initializeXCoreAsmPrinterPass(PassRegistry &);35 void initializeXCoreDAGToDAGISelLegacyPass(PassRegistry &);36 37} // end namespace llvm;38 39#endif40