1//===- SPIRVLegalizeZeroSizeArrays.h - Legalize zero-size arrays *- 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_SPIRV_SPIRVLEGALIZEZEROSIZE_ARRAYS_H_
10#define LLVM_LIB_TARGET_SPIRV_SPIRVLEGALIZEZEROSIZE_ARRAYS_H_
11
12#include "llvm/IR/PassManager.h"
13
14namespace llvm {
15
16class SPIRVTargetMachine;
17
18class SPIRVLegalizeZeroSizeArrays
19 : public PassInfoMixin<SPIRVLegalizeZeroSizeArrays> {
20 const SPIRVTargetMachine &TM;
21
22public:
23 SPIRVLegalizeZeroSizeArrays(const SPIRVTargetMachine &TM) : TM(TM) {}
24 PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
25};
26
27} // namespace llvm
28
29#endif // LLVM_LIB_TARGET_SPIRV_SPIRVLEGALIZEZEROSIZE_ARRAYS_H_
30