diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.cpp b/contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.cpp new file mode 100644 index 000000000000..8812cfdd86da --- /dev/null +++ b/contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.cpp @@ -0,0 +1,39 @@ +//===-- BPFFrameLowering.cpp - BPF Frame Information ----------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file contains the BPF implementation of TargetFrameLowering class. +// +//===----------------------------------------------------------------------===// + +#include "BPFFrameLowering.h" +#include "BPFInstrInfo.h" +#include "BPFSubtarget.h" +#include "llvm/CodeGen/MachineFrameInfo.h" +#include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineInstrBuilder.h" +#include "llvm/CodeGen/MachineRegisterInfo.h" + +using namespace llvm; + +bool BPFFrameLowering::hasFP(const MachineFunction &MF) const { return true; } + +void BPFFrameLowering::emitPrologue(MachineFunction &MF, + MachineBasicBlock &MBB) const {} + +void BPFFrameLowering::emitEpilogue(MachineFunction &MF, + MachineBasicBlock &MBB) const {} + +void BPFFrameLowering::determineCalleeSaves(MachineFunction &MF, + BitVector &SavedRegs, + RegScavenger *RS) const { + TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS); + SavedRegs.reset(BPF::R6); + SavedRegs.reset(BPF::R7); + SavedRegs.reset(BPF::R8); + SavedRegs.reset(BPF::R9); +} |
