diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h')
| -rw-r--r-- | gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h b/gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h deleted file mode 100644 index c6fa8261b03..00000000000 --- a/gnu/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h +++ /dev/null @@ -1,66 +0,0 @@ -// WebAssemblyFrameLowering.h - TargetFrameLowering for WebAssembly -*- C++ -*-/ -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -/// -/// \file -/// This class implements WebAssembly-specific bits of -/// TargetFrameLowering class. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYFRAMELOWERING_H -#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYFRAMELOWERING_H - -#include "llvm/CodeGen/TargetFrameLowering.h" - -namespace llvm { -class MachineFrameInfo; - -class WebAssemblyFrameLowering final : public TargetFrameLowering { -public: - /// Size of the red zone for the user stack (leaf functions can use this much - /// space below the stack pointer without writing it back to __stack_pointer - /// global). - // TODO: (ABI) Revisit and decide how large it should be. - static const size_t RedZoneSize = 128; - - WebAssemblyFrameLowering() - : TargetFrameLowering(StackGrowsDown, /*StackAlignment=*/16, - /*LocalAreaOffset=*/0, - /*TransientStackAlignment=*/16, - /*StackRealignable=*/true) {} - - MachineBasicBlock::iterator - eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, - MachineBasicBlock::iterator I) const override; - - /// These methods insert prolog and epilog code into the function. - void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; - void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; - - bool hasFP(const MachineFunction &MF) const override; - bool hasReservedCallFrame(const MachineFunction &MF) const override; - - bool needsPrologForEH(const MachineFunction &MF) const; - - /// Write SP back to __stack_pointer global. - void writeSPToGlobal(unsigned SrcReg, MachineFunction &MF, - MachineBasicBlock &MBB, - MachineBasicBlock::iterator &InsertStore, - const DebugLoc &DL) const; - -private: - bool hasBP(const MachineFunction &MF) const; - bool needsSPForLocalFrame(const MachineFunction &MF) const; - bool needsSP(const MachineFunction &MF) const; - bool needsSPWriteback(const MachineFunction &MF) const; -}; - -} // end namespace llvm - -#endif |
