//===-- ARMBasicBlockInfo.h - Basic Block Information -----------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Utility functions and data structure for computing block size. // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_TARGET_ARM_ARMBASICBLOCKINFO_H #define LLVM_LIB_TARGET_ARM_ARMBASICBLOCKINFO_H #include "ARMBaseInstrInfo.h" #include "ARMMachineFunctionInfo.h" #include "llvm/Support/MathExtras.h" #include <algorithm> #include <cstdint> namespace llvm { struct BasicBlockInfo; BBInfoVector; /// UnknownPadding - Return the worst case padding that could result from /// unknown offset bits. This does not include alignment padding caused by /// known offset bits. /// /// @param Alignment alignment /// @param KnownBits Number of known low offset bits. inline unsigned UnknownPadding(Align Alignment, unsigned KnownBits) { … } /// BasicBlockInfo - Information about the offset and size of a single /// basic block. struct BasicBlockInfo { … }; class ARMBasicBlockUtils { … }; } // end namespace llvm #endif // LLVM_LIB_TARGET_ARM_ARMBASICBLOCKINFO_H