xref: /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerSGPRSpills.h (revision 700637cbb5e582861067a11aaca4d053546871d2)
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 
14 namespace llvm {
15 class SILowerSGPRSpillsPass : public PassInfoMixin<SILowerSGPRSpillsPass> {
16 public:
17   PreservedAnalyses run(MachineFunction &MF,
18                         MachineFunctionAnalysisManager &MFAM);
19 
getClearedProperties()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