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-exception 6 // 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 lower 11 // through the MC layer. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef LLVM_DIRECTX_DIRECTXFRAMELOWERING_H 16 #define LLVM_DIRECTX_DIRECTXFRAMELOWERING_H 17 18 #include "llvm/CodeGen/TargetFrameLowering.h" 19 #include "llvm/Support/Alignment.h" 20 21 namespace llvm { 22 class DirectXSubtarget; 23 24 class DirectXFrameLowering : public TargetFrameLowering { 25 public: 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 32 bool hasFP(const MachineFunction &) const override { return false; } 33 }; 34 } // namespace llvm 35 #endif // LLVM_DIRECTX_DIRECTXFRAMELOWERING_H 36