46 lines
1.7 KiB
Modula-2
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
|