1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//===-- BPFFrameLowering.cpp - BPF Frame Information ----------------------===//
2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//
3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//                     The LLVM Compiler Infrastructure
4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//
5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// This file is distributed under the University of Illinois Open Source
6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// License. See LICENSE.TXT for details.
7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//
8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//===----------------------------------------------------------------------===//
9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//
10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// This file contains the BPF implementation of TargetFrameLowering class.
11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//
12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines//===----------------------------------------------------------------------===//
13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "BPFFrameLowering.h"
15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "BPFInstrInfo.h"
16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "BPFSubtarget.h"
17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/CodeGen/MachineFrameInfo.h"
18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/CodeGen/MachineFunction.h"
19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/CodeGen/MachineInstrBuilder.h"
20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include "llvm/CodeGen/MachineRegisterInfo.h"
21ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesusing namespace llvm;
23ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
24ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesbool BPFFrameLowering::hasFP(const MachineFunction &MF) const { return true; }
25ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
266948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainarvoid BPFFrameLowering::emitPrologue(MachineFunction &MF,
276948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar                                    MachineBasicBlock &MBB) const {}
28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
29ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvoid BPFFrameLowering::emitEpilogue(MachineFunction &MF,
30ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines                                    MachineBasicBlock &MBB) const {}
31ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarvoid BPFFrameLowering::determineCalleeSaves(MachineFunction &MF,
33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar                                            BitVector &SavedRegs,
34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar                                            RegScavenger *RS) const {
35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS);
36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  SavedRegs.reset(BPF::R6);
37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  SavedRegs.reset(BPF::R7);
38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  SavedRegs.reset(BPF::R8);
39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  SavedRegs.reset(BPF::R9);
40ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines}
41