Mercurial > hg > Members > tobaru > cbc > CbC_llvm
diff lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h @ 95:afa8332a0e37
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | |
children | 7d135dc70f03 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h Tue Oct 13 17:48:58 2015 +0900 @@ -0,0 +1,43 @@ +// WebAssemblyMachineFunctionInfo.h-WebAssembly machine function info-*- C++ -*- +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// +/// \file +/// \brief This file declares WebAssembly-specific per-machine-function +/// information. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYMACHINEFUNCTIONINFO_H +#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYMACHINEFUNCTIONINFO_H + +#include "WebAssemblyRegisterInfo.h" +#include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineRegisterInfo.h" + +namespace llvm { + +/// This class is derived from MachineFunctionInfo and contains private +/// WebAssembly-specific information for each MachineFunction. +class WebAssemblyFunctionInfo final : public MachineFunctionInfo { + MachineFunction &MF; + + unsigned NumArguments; + +public: + explicit WebAssemblyFunctionInfo(MachineFunction &MF) + : MF(MF), NumArguments(0) {} + ~WebAssemblyFunctionInfo() override; + + void setNumArguments(unsigned N) { NumArguments = N; } + unsigned getNumArguments() const { return NumArguments; } +}; + +} // end namespace llvm + +#endif