1//===--- ExpandMemCmp.h - Expand memcmp() to load/stores --------*- 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_CODEGEN_EXPANDMEMCMP_H 10#define LLVM_CODEGEN_EXPANDMEMCMP_H 11 12#include "llvm/IR/PassManager.h" 13 14namespace llvm { 15 16class TargetMachine; 17 18class ExpandMemCmpPass : public PassInfoMixin<ExpandMemCmpPass> { 19 const TargetMachine *TM; 20 21public: 22 explicit ExpandMemCmpPass(const TargetMachine *TM_) : TM(TM_) {} 23 24 PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM); 25}; 26 27} // namespace llvm 28 29#endif // LLVM_CODEGEN_EXPANDMEMCMP_H 30