1//===- SILowerSGPRSpills.h --------------------------------------*- 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#ifndef LLVM_LIB_TARGET_AMDGPU_SILOWERSGPRSPILLS_H
10#define LLVM_LIB_TARGET_AMDGPU_SILOWERSGPRSPILLS_H
11
12#include "llvm/CodeGen/MachinePassManager.h"
13
14namespace llvm {
15class SILowerSGPRSpillsPass
16 : public OptionalPassInfoMixin<SILowerSGPRSpillsPass> {
17public:
18 PreservedAnalyses run(MachineFunction &MF,
19 MachineFunctionAnalysisManager &MFAM);
20
21 MachineFunctionProperties getClearedProperties() const {
22 // SILowerSGPRSpills introduces new Virtual VGPRs for spilling SGPRs.
23 return MachineFunctionProperties().setIsSSA().setNoVRegs();
24 }
25};
26} // namespace llvm
27
28#endif // LLVM_LIB_TARGET_AMDGPU_SILOWERSGPRSPILLS_H
29