Path: blob/main/contrib/llvm-project/llvm/lib/Target/Lanai/Lanai.h
35271 views
//===-- Lanai.h - Top-level interface for Lanai representation --*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains the entry points for global functions defined in the LLVM9// Lanai back-end.10//11//===----------------------------------------------------------------------===//1213#ifndef LLVM_LIB_TARGET_LANAI_LANAI_H14#define LLVM_LIB_TARGET_LANAI_LANAI_H1516#include "llvm/Pass.h"1718namespace llvm {19class FunctionPass;20class LanaiTargetMachine;21class PassRegistry;2223// createLanaiISelDag - This pass converts a legalized DAG into a24// Lanai-specific DAG, ready for instruction scheduling.25FunctionPass *createLanaiISelDag(LanaiTargetMachine &TM);2627// createLanaiDelaySlotFillerPass - This pass fills delay slots28// with useful instructions or nop's29FunctionPass *createLanaiDelaySlotFillerPass(const LanaiTargetMachine &TM);3031// createLanaiMemAluCombinerPass - This pass combines loads/stores and32// arithmetic operations.33FunctionPass *createLanaiMemAluCombinerPass();3435// createLanaiSetflagAluCombinerPass - This pass combines SET_FLAG and ALU36// operations.37FunctionPass *createLanaiSetflagAluCombinerPass();3839void initializeLanaiDAGToDAGISelLegacyPass(PassRegistry &);4041} // namespace llvm4243#endif // LLVM_LIB_TARGET_LANAI_LANAI_H444546