1//===-- WebAssembly.h - Top-level interface for WebAssembly ----*- 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/// \file 11/// \brief This file contains the entry points for global functions defined in 12/// the LLVM WebAssembly back-end. 13/// 14//===----------------------------------------------------------------------===// 15 16#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLY_H 17#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLY_H 18 19#include "llvm/Support/CodeGen.h" 20 21namespace llvm { 22 23class WebAssemblyTargetMachine; 24class FunctionPass; 25 26FunctionPass *createWebAssemblyOptimizeReturned(); 27 28FunctionPass *createWebAssemblyISelDag(WebAssemblyTargetMachine &TM, 29 CodeGenOpt::Level OptLevel); 30FunctionPass *createWebAssemblyArgumentMove(); 31 32FunctionPass *createWebAssemblyStoreResults(); 33FunctionPass *createWebAssemblyRegStackify(); 34FunctionPass *createWebAssemblyRegColoring(); 35FunctionPass *createWebAssemblyPEI(); 36FunctionPass *createWebAssemblyCFGStackify(); 37FunctionPass *createWebAssemblyLowerBrUnless(); 38FunctionPass *createWebAssemblyRegNumbering(); 39FunctionPass *createWebAssemblyPeephole(); 40 41FunctionPass *createWebAssemblyRelooper(); 42 43} // end namespace llvm 44 45#endif 46