Files
gps/tools/local/circt/include/llvm/Object/BBAddrMap.def
T
2026-07-12 11:01:51 +03:00

46 lines
1.7 KiB
Modula-2

//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
///
/// \file
/// This file enumerates the bit fields of BBAddrMap::Features and
/// BBAddrMap::BBEntry::Metadata.
///
//===----------------------------------------------------------------------===//
// NOTE: NO INCLUDE GUARD DESIRED!
// Each entry below defines a single 1-bit flag. New entries MUST be appended
// to the end of the feature/metadata list. DO NOT insert in the middle or
// reorder existing entries.
#ifndef HANDLE_BB_ADDR_MAP_FEATURE
#define HANDLE_BB_ADDR_MAP_FEATURE(Name)
#endif
HANDLE_BB_ADDR_MAP_FEATURE(FuncEntryCount)
HANDLE_BB_ADDR_MAP_FEATURE(BBFreq)
HANDLE_BB_ADDR_MAP_FEATURE(BrProb)
HANDLE_BB_ADDR_MAP_FEATURE(MultiBBRange)
HANDLE_BB_ADDR_MAP_FEATURE(OmitBBEntries)
HANDLE_BB_ADDR_MAP_FEATURE(CallsiteEndOffsets)
HANDLE_BB_ADDR_MAP_FEATURE(BBHash)
HANDLE_BB_ADDR_MAP_FEATURE(PostLinkCfg)
#ifndef HANDLE_BB_ADDR_MAP_BB_METADATA
#define HANDLE_BB_ADDR_MAP_BB_METADATA(Name)
#endif
HANDLE_BB_ADDR_MAP_BB_METADATA(HasReturn) // Block ends with a return (or tail call).
HANDLE_BB_ADDR_MAP_BB_METADATA(HasTailCall) // Block ends with a tail call.
HANDLE_BB_ADDR_MAP_BB_METADATA(IsEHPad) // Exception handling block.
HANDLE_BB_ADDR_MAP_BB_METADATA(CanFallThrough) // Block can fall through to its next.
HANDLE_BB_ADDR_MAP_BB_METADATA(HasIndirectBranch) // Block ends with an indirect branch.
#undef HANDLE_BB_ADDR_MAP_FEATURE
#undef HANDLE_BB_ADDR_MAP_BB_METADATA