diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/DirectX/DirectXFrameLowering.h')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/DirectX/DirectXFrameLowering.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/DirectX/DirectXFrameLowering.h b/contrib/llvm-project/llvm/lib/Target/DirectX/DirectXFrameLowering.h new file mode 100644 index 000000000000..76a1450054be --- /dev/null +++ b/contrib/llvm-project/llvm/lib/Target/DirectX/DirectXFrameLowering.h @@ -0,0 +1,35 @@ +//===-- DirectXFrameLowering.h - Frame lowering for DirectX --*- C++ ---*--===// +// +// 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 class implements DirectX-specific bits of TargetFrameLowering class. +// This is just a stub because the current DXIL backend does not actually lower +// through the MC layer. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DIRECTX_DIRECTXFRAMELOWERING_H +#define LLVM_DIRECTX_DIRECTXFRAMELOWERING_H + +#include "llvm/CodeGen/TargetFrameLowering.h" +#include "llvm/Support/Alignment.h" + +namespace llvm { +class DirectXSubtarget; + +class DirectXFrameLowering : public TargetFrameLowering { +public: + explicit DirectXFrameLowering(const DirectXSubtarget &STI) + : TargetFrameLowering(TargetFrameLowering::StackGrowsDown, Align(8), 0) {} + + void emitPrologue(MachineFunction &, MachineBasicBlock &) const override {} + void emitEpilogue(MachineFunction &, MachineBasicBlock &) const override {} + + bool hasFP(const MachineFunction &) const override { return false; } +}; +} // namespace llvm +#endif // LLVM_DIRECTX_DIRECTXFRAMELOWERING_H |