Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/MC/MCStreamer.h
Context not available. | |||||
bool UseAssemblerInfoForParsing; | bool UseAssemblerInfoForParsing; | ||||
/// This is stack of align_branch_boundary directives. Data is pair of | |||||
/// alignment, and target specific instruction kind mask. | |||||
SmallVector<std::pair<unsigned, unsigned>, 4> AlignBranchBoundaryStack; | |||||
protected: | protected: | ||||
MCStreamer(MCContext &Ctx); | MCStreamer(MCContext &Ctx); | ||||
Context not available. | |||||
/// Ends a bundle-locked group. | /// Ends a bundle-locked group. | ||||
virtual void EmitBundleUnlock(); | virtual void EmitBundleUnlock(); | ||||
/// Enter a new .align_branch_boundary region which allows alignment for | |||||
/// performance of instruction described by the target specific Mask to be | |||||
/// aligned so as no to cross or end at an alignment boundary of 2^Align. | |||||
virtual void EmitPushAlignBranchBoundary(unsigned Align, unsigned Mask) { | |||||
AlignBranchBoundaryStack.push_back(std::make_pair(Align, Mask)); | |||||
} | |||||
/// Ends a .align_branch_boundary region. | |||||
virtual void EmitPopAlignBranchBoundary() { | |||||
assert(!AlignBranchBoundaryStack.empty()); | |||||
AlignBranchBoundaryStack.pop_back(); | |||||
} | |||||
/// Return information on the current .align_branch_boundary region if any, | |||||
/// or None. | |||||
Optional<std::pair<unsigned, unsigned>> | |||||
getCurrentAlignBranchBoundary() const { | |||||
if (AlignBranchBoundaryStack.empty()) | |||||
return None; | |||||
return AlignBranchBoundaryStack.back(); | |||||
} | |||||
/// If this file is backed by a assembly streamer, this dumps the | /// If this file is backed by a assembly streamer, this dumps the | ||||
/// specified string in the output .s file. This capability is indicated by | /// specified string in the output .s file. This capability is indicated by | ||||
/// the hasRawTextSupport() predicate. By default this aborts. | /// the hasRawTextSupport() predicate. By default this aborts. | ||||
Context not available. |