brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 8582355 Raw
37 lines · c
1//===-- DirectXFrameLowering.h - Frame lowering for DirectX --*- C++ ---*--===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This class implements DirectX-specific bits of TargetFrameLowering class.10// This is just a stub because the current DXIL backend does not actually lower11// through the MC layer.12//13//===----------------------------------------------------------------------===//14 15#ifndef LLVM_DIRECTX_DIRECTXFRAMELOWERING_H16#define LLVM_DIRECTX_DIRECTXFRAMELOWERING_H17 18#include "llvm/CodeGen/TargetFrameLowering.h"19#include "llvm/Support/Alignment.h"20 21namespace llvm {22class DirectXSubtarget;23 24class DirectXFrameLowering : public TargetFrameLowering {25public:26  explicit DirectXFrameLowering(const DirectXSubtarget &STI)27      : TargetFrameLowering(TargetFrameLowering::StackGrowsDown, Align(8), 0) {}28 29  void emitPrologue(MachineFunction &, MachineBasicBlock &) const override {}30  void emitEpilogue(MachineFunction &, MachineBasicBlock &) const override {}31 32protected:33  bool hasFPImpl(const MachineFunction &) const override { return false; }34};35} // namespace llvm36#endif // LLVM_DIRECTX_DIRECTXFRAMELOWERING_H37