1//===- RegAllocCommon.h - Utilities shared between allocators ---*- 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_REGALLOCCOMMON_H 10#define LLVM_CODEGEN_REGALLOCCOMMON_H 11 12#include <functional> 13 14namespace llvm { 15 16class TargetRegisterClass; 17class TargetRegisterInfo; 18 19typedef std::function<bool(const TargetRegisterInfo &TRI, 20 const TargetRegisterClass &RC)> RegClassFilterFunc; 21 22/// Default register class filter function for register allocation. All virtual 23/// registers should be allocated. 24static inline bool allocateAllRegClasses(const TargetRegisterInfo &, 25 const TargetRegisterClass &) { 26 return true; 27} 28 29} 30 31#endif // LLVM_CODEGEN_REGALLOCCOMMON_H 32