23 : Begin(Begin), BundleGroupBeforeFirstInst(
false), HasInstructions(
false),
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())
76 if (!ExactMatch && Subsection != 0) {
80 SubsectionFragmentMap.insert(MI, std::make_pair(Subsection, F));
88 #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
93 OS <<
" Fragments:[\n ";
94 for (
auto it =
begin(), ie =
end(); it != ie; ++it) {
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void setBundleLockState(BundleLockStateType NewState)
MCSection::reverse_iterator rbegin()
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason, bool gen_crash_diag=true)
Reports a serious error, calling any installed error handler.
reverse_iterator rbegin()
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...
MCSection::reverse_iterator rend()
MCSymbol * getEndSymbol(MCContext &Ctx)
Context object for machine code objects.
bool isInSection() const
isInSection - Check if this symbol is defined in some section (i.e., it is defined but not absolute)...
MCSection::iterator end()
MCSymbol * createTempSymbol(bool CanBeUnnamed=true)
Create and return a new assembler temporary symbol with a unique but unspecified name.
FragmentListType::reverse_iterator reverse_iterator
iterator insert(iterator where, NodeTy *New)
SectionKind - This is a simple POD value that classifies the properties of a section.
MCSection::iterator begin()
Fragment for data and encoded instructions.
const ARM::ArchExtKind Kind
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()