23 : Begin(Begin), BundleGroupBeforeFirstInst(
false), HasInstructions(
false),
24 IsRegistered(
false), DummyFragment(this), Variant(V),
Kind(K) {}
39 if (BundleLockNestingDepth == 0) {
42 if (--BundleLockNestingDepth == 0) {
51 BundleLockState = NewState;
53 ++BundleLockNestingDepth;
58 if (Subsection == 0 && SubsectionFragmentMap.empty())
62 std::lower_bound(SubsectionFragmentMap.begin(),
63 SubsectionFragmentMap.end(),
64 std::make_pair(Subsection, (
MCFragment *)
nullptr));
65 bool ExactMatch =
false;
66 if (MI != SubsectionFragmentMap.end()) {
67 ExactMatch = MI->first == Subsection;
72 if (MI == SubsectionFragmentMap.end())
75 IP = MI->second->getIterator();
76 if (!ExactMatch && Subsection != 0) {
80 SubsectionFragmentMap.insert(MI, std::make_pair(Subsection, F));
92 OS <<
" Fragments:[\n ";
93 for (
auto it =
begin(), ie =
end(); it != ie; ++it) {
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds...
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void setBundleLockState(BundleLockStateType NewState)
BundleLockStateType
Express the state of bundle locked groups while emitting code.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
MCSymbol * getEndSymbol(MCContext &Ctx)
Context object for machine code objects.
Function Alias Analysis false
MCSymbol * createTempSymbol(bool CanBeUnnamed=true)
Create and return a new assembler temporary symbol with a unique but unspecified name.
static const unsigned End
SectionKind - This is a simple POD value that classifies the properties of a section.
Iterator for intrusive lists based on ilist_node.
iterator insert(iterator where, pointer New)
Fragment for data and encoded instructions.
MCSection::iterator getSubsectionInsertionPoint(unsigned Subsection)
This class implements an extremely fast bulk output stream that can only output to a stream...
void setParent(MCSection *Value)
MCSection::FragmentListType & getFragmentList()