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 : public PassInfoMixin<SILowerSGPRSpillsPass> {
16public:
17 PreservedAnalyses run(MachineFunction &MF,
18 MachineFunctionAnalysisManager &MFAM);
19
20 MachineFunctionProperties getClearedProperties() const {
21 // SILowerSGPRSpills introduces new Virtual VGPRs for spilling SGPRs.
22 return MachineFunctionProperties().setIsSSA().setNoVRegs();
23 }
24};
25} // namespace llvm
26
27#endif // LLVM_LIB_TARGET_AMDGPU_SILOWERSGPRSPILLS_H
28