WebAssembly.h revision 296417
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