Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.h
//===-- RISCVFrameLowering.h - Define frame lowering for RISCV -*- C++ -*--===// | |||||
// | |||||
// The LLVM Compiler Infrastructure | |||||
// | |||||
// This file is distributed under the University of Illinois Open Source | |||||
// License. See LICENSE.TXT for details. | |||||
// | |||||
//===----------------------------------------------------------------------===// | |||||
// | |||||
// This class implements RISCV-specific bits of TargetFrameLowering class. | |||||
// | |||||
//===----------------------------------------------------------------------===// | |||||
#ifndef LLVM_LIB_TARGET_RISCV_RISCVFRAMELOWERING_H | |||||
#define LLVM_LIB_TARGET_RISCV_RISCVFRAMELOWERING_H | |||||
#include "llvm/Target/TargetFrameLowering.h" | |||||
namespace llvm { | |||||
class RISCVSubtarget; | |||||
class RISCVFrameLowering : public TargetFrameLowering { | |||||
public: | |||||
explicit RISCVFrameLowering(const RISCVSubtarget &STI) | |||||
: TargetFrameLowering(StackGrowsDown, | |||||
/*StackAlignment=*/16, | |||||
/*LocalAreaOffset=*/0) {} | |||||
void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; | |||||
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; | |||||
bool hasFP(const MachineFunction &MF) const override; | |||||
}; | |||||
} | |||||
#endif |