[AsmPrinter] De-capitalize Emit{Function,BasicBlock]* and Emit{Start,End}OfAsmFile

This commit is contained in:
Fangrui Song 2020-02-13 13:10:49 -08:00
parent e252293d06
commit 0dce409cee
27 changed files with 134 additions and 134 deletions

View File

@ -319,7 +319,7 @@ public:
/// Emit the specified function out to the OutStreamer. /// Emit the specified function out to the OutStreamer.
bool runOnMachineFunction(MachineFunction &MF) override { bool runOnMachineFunction(MachineFunction &MF) override {
SetupMachineFunction(MF); SetupMachineFunction(MF);
EmitFunctionBody(); emitFunctionBody();
return false; return false;
} }
@ -332,7 +332,7 @@ public:
virtual void SetupMachineFunction(MachineFunction &MF); virtual void SetupMachineFunction(MachineFunction &MF);
/// This method emits the body and trailer for a function. /// This method emits the body and trailer for a function.
void EmitFunctionBody(); void emitFunctionBody();
void emitCFIInstruction(const MachineInstr &MI); void emitCFIInstruction(const MachineInstr &MI);
@ -406,28 +406,28 @@ public:
/// This virtual method can be overridden by targets that want to emit /// This virtual method can be overridden by targets that want to emit
/// something at the start of their file. /// something at the start of their file.
virtual void EmitStartOfAsmFile(Module &) {} virtual void emitStartOfAsmFile(Module &) {}
/// This virtual method can be overridden by targets that want to emit /// This virtual method can be overridden by targets that want to emit
/// something at the end of their file. /// something at the end of their file.
virtual void EmitEndOfAsmFile(Module &) {} virtual void emitEndOfAsmFile(Module &) {}
/// Targets can override this to emit stuff before the first basic block in /// Targets can override this to emit stuff before the first basic block in
/// the function. /// the function.
virtual void EmitFunctionBodyStart() {} virtual void emitFunctionBodyStart() {}
/// Targets can override this to emit stuff after the last basic block in the /// Targets can override this to emit stuff after the last basic block in the
/// function. /// function.
virtual void EmitFunctionBodyEnd() {} virtual void emitFunctionBodyEnd() {}
/// Targets can override this to emit stuff at the start of a basic block. /// Targets can override this to emit stuff at the start of a basic block.
/// By default, this method prints the label for the specified /// By default, this method prints the label for the specified
/// MachineBasicBlock, an alignment (if present) and a comment describing it /// MachineBasicBlock, an alignment (if present) and a comment describing it
/// if appropriate. /// if appropriate.
virtual void EmitBasicBlockStart(const MachineBasicBlock &MBB); virtual void emitBasicBlockStart(const MachineBasicBlock &MBB);
/// Targets can override this to emit stuff at the end of a basic block. /// Targets can override this to emit stuff at the end of a basic block.
virtual void EmitBasicBlockEnd(const MachineBasicBlock &MBB); virtual void emitBasicBlockEnd(const MachineBasicBlock &MBB);
/// Targets should implement this to emit instructions. /// Targets should implement this to emit instructions.
virtual void EmitInstruction(const MachineInstr *) { virtual void EmitInstruction(const MachineInstr *) {
@ -437,9 +437,9 @@ public:
/// Return the symbol for the specified constant pool entry. /// Return the symbol for the specified constant pool entry.
virtual MCSymbol *GetCPISymbol(unsigned CPID) const; virtual MCSymbol *GetCPISymbol(unsigned CPID) const;
virtual void EmitFunctionEntryLabel(); virtual void emitFunctionEntryLabel();
virtual void EmitFunctionDescriptor() { virtual void emitFunctionDescriptor() {
llvm_unreachable("Function descriptor is target-specific."); llvm_unreachable("Function descriptor is target-specific.");
} }
@ -678,7 +678,7 @@ private:
mutable unsigned Counter = ~0U; mutable unsigned Counter = ~0U;
/// This method emits the header for the current function. /// This method emits the header for the current function.
virtual void EmitFunctionHeader(); virtual void emitFunctionHeader();
/// Emit a blob of inline asm to the output streamer. /// Emit a blob of inline asm to the output streamer.
void void

View File

@ -78,7 +78,7 @@ public:
bool runOnMachineFunction(MachineFunction &MF) override; bool runOnMachineFunction(MachineFunction &MF) override;
virtual void EmitFunctionEntryCode() {} virtual void emitFunctionEntryCode() {}
/// PreprocessISelDAG - This hook allows targets to hack on the graph before /// PreprocessISelDAG - This hook allows targets to hack on the graph before
/// instruction selection starts. /// instruction selection starts.

View File

@ -280,7 +280,7 @@ bool AsmPrinter::doInitialization(Module &M) {
OutStreamer->EmitVersionForTarget(Target, M.getSDKVersion()); OutStreamer->EmitVersionForTarget(Target, M.getSDKVersion());
// Allow the target to emit any magic that it wants at the start of the file. // Allow the target to emit any magic that it wants at the start of the file.
EmitStartOfAsmFile(M); emitStartOfAsmFile(M);
// Very minimal debug info. It is ignored if we emit actual debug info. If we // Very minimal debug info. It is ignored if we emit actual debug info. If we
// don't, this at least helps the user find where a global came from. // don't, this at least helps the user find where a global came from.
@ -670,7 +670,7 @@ void AsmPrinter::EmitDebugValue(const MCExpr *Value, unsigned Size) const {
/// EmitFunctionHeader - This method emits the header for the current /// EmitFunctionHeader - This method emits the header for the current
/// function. /// function.
void AsmPrinter::EmitFunctionHeader() { void AsmPrinter::emitFunctionHeader() {
const Function &F = MF->getFunction(); const Function &F = MF->getFunction();
if (isVerbose()) if (isVerbose())
@ -750,11 +750,11 @@ void AsmPrinter::EmitFunctionHeader() {
// the AIX target. The PowerPC 64-bit V1 ELF target also uses function // the AIX target. The PowerPC 64-bit V1 ELF target also uses function
// descriptors and should be converted to use this hook as well. // descriptors and should be converted to use this hook as well.
if (MAI->needsFunctionDescriptors()) if (MAI->needsFunctionDescriptors())
EmitFunctionDescriptor(); emitFunctionDescriptor();
// Emit the CurrentFnSym. This is a virtual function to allow targets to do // Emit the CurrentFnSym. This is a virtual function to allow targets to do
// their wild and crazy things as required. // their wild and crazy things as required.
EmitFunctionEntryLabel(); emitFunctionEntryLabel();
if (CurrentFnBegin) { if (CurrentFnBegin) {
if (MAI->useAssignmentForEHBegin()) { if (MAI->useAssignmentForEHBegin()) {
@ -781,7 +781,7 @@ void AsmPrinter::EmitFunctionHeader() {
/// EmitFunctionEntryLabel - Emit the label that is the entrypoint for the /// EmitFunctionEntryLabel - Emit the label that is the entrypoint for the
/// function. This can be overridden by targets as required to do custom stuff. /// function. This can be overridden by targets as required to do custom stuff.
void AsmPrinter::EmitFunctionEntryLabel() { void AsmPrinter::emitFunctionEntryLabel() {
CurrentFnSym->redefineIfPossible(); CurrentFnSym->redefineIfPossible();
// The function label could have already been emitted if two symbols end up // The function label could have already been emitted if two symbols end up
@ -1066,11 +1066,11 @@ static bool needFuncLabelsForEHOrDebugInfo(const MachineFunction &MF,
/// EmitFunctionBody - This method emits the body and trailer for a /// EmitFunctionBody - This method emits the body and trailer for a
/// function. /// function.
void AsmPrinter::EmitFunctionBody() { void AsmPrinter::emitFunctionBody() {
EmitFunctionHeader(); emitFunctionHeader();
// Emit target-specific gunk before the function body. // Emit target-specific gunk before the function body.
EmitFunctionBodyStart(); emitFunctionBodyStart();
bool ShouldPrintDebugScopes = MMI->hasDebugInfo(); bool ShouldPrintDebugScopes = MMI->hasDebugInfo();
@ -1097,7 +1097,7 @@ void AsmPrinter::EmitFunctionBody() {
int NumInstsInFunction = 0; int NumInstsInFunction = 0;
for (auto &MBB : *MF) { for (auto &MBB : *MF) {
// Print a label for the basic block. // Print a label for the basic block.
EmitBasicBlockStart(MBB); emitBasicBlockStart(MBB);
for (auto &MI : MBB) { for (auto &MI : MBB) {
// Print the assembly for the instruction. // Print the assembly for the instruction.
if (!MI.isPosition() && !MI.isImplicitDef() && !MI.isKill() && if (!MI.isPosition() && !MI.isImplicitDef() && !MI.isKill() &&
@ -1175,7 +1175,7 @@ void AsmPrinter::EmitFunctionBody() {
} }
} }
EmitBasicBlockEnd(MBB); emitBasicBlockEnd(MBB);
} }
EmittedInsts += NumInstsInFunction; EmittedInsts += NumInstsInFunction;
@ -1220,7 +1220,7 @@ void AsmPrinter::EmitFunctionBody() {
} }
// Emit target-specific gunk after the function body. // Emit target-specific gunk after the function body.
EmitFunctionBodyEnd(); emitFunctionBodyEnd();
if (needFuncLabelsForEHOrDebugInfo(*MF, MMI) || if (needFuncLabelsForEHOrDebugInfo(*MF, MMI) ||
MAI->hasDotTypeDotSizeDirective()) { MAI->hasDotTypeDotSizeDirective()) {
@ -1682,7 +1682,7 @@ bool AsmPrinter::doFinalization(Module &M) {
// Allow the target to emit any magic that it wants at the end of the file, // Allow the target to emit any magic that it wants at the end of the file,
// after everything else has gone out. // after everything else has gone out.
EmitEndOfAsmFile(M); emitEndOfAsmFile(M);
MMI = nullptr; MMI = nullptr;
@ -2981,7 +2981,7 @@ static void emitBasicBlockLoopComments(const MachineBasicBlock &MBB,
/// EmitBasicBlockStart - This method prints the label for the specified /// EmitBasicBlockStart - This method prints the label for the specified
/// MachineBasicBlock, an alignment (if present) and a comment describing /// MachineBasicBlock, an alignment (if present) and a comment describing
/// it if appropriate. /// it if appropriate.
void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) { void AsmPrinter::emitBasicBlockStart(const MachineBasicBlock &MBB) {
// End the previous funclet and start a new one. // End the previous funclet and start a new one.
if (MBB.isEHFuncletEntry()) { if (MBB.isEHFuncletEntry()) {
for (const HandlerInfo &HI : Handlers) { for (const HandlerInfo &HI : Handlers) {
@ -3041,7 +3041,7 @@ void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) {
} }
} }
void AsmPrinter::EmitBasicBlockEnd(const MachineBasicBlock &MBB) {} void AsmPrinter::emitBasicBlockEnd(const MachineBasicBlock &MBB) {}
void AsmPrinter::EmitVisibility(MCSymbol *Sym, unsigned Visibility, void AsmPrinter::EmitVisibility(MCSymbol *Sym, unsigned Visibility,
bool IsDefinition) const { bool IsDefinition) const {

View File

@ -9982,7 +9982,7 @@ void SelectionDAGISel::LowerArguments(const Function &F) {
} }
// Finally, if the target has anything special to do, allow it to do so. // Finally, if the target has anything special to do, allow it to do so.
EmitFunctionEntryCode(); emitFunctionEntryCode();
} }
/// Handle PHI nodes in successor blocks. Emit code into the SelectionDAG to /// Handle PHI nodes in successor blocks. Emit code into the SelectionDAG to

View File

@ -84,7 +84,7 @@ public:
return MCInstLowering.lowerOperand(MO, MCOp); return MCInstLowering.lowerOperand(MO, MCOp);
} }
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitJumpTableInfo() override; void EmitJumpTableInfo() override;
void emitJumpTableEntry(const MachineJumpTableInfo *MJTI, void emitJumpTableEntry(const MachineJumpTableInfo *MJTI,
const MachineBasicBlock *MBB, unsigned JTI); const MachineBasicBlock *MBB, unsigned JTI);
@ -139,7 +139,7 @@ public:
} }
// Emit the rest of the function body. // Emit the rest of the function body.
EmitFunctionBody(); emitFunctionBody();
// Emit the XRay table for this function. // Emit the XRay table for this function.
emitXRayTable(); emitXRayTable();
@ -162,10 +162,10 @@ private:
void PrintDebugValueComment(const MachineInstr *MI, raw_ostream &OS); void PrintDebugValueComment(const MachineInstr *MI, raw_ostream &OS);
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
MCSymbol *GetCPISymbol(unsigned CPID) const override; MCSymbol *GetCPISymbol(unsigned CPID) const override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
AArch64FunctionInfo *AArch64FI = nullptr; AArch64FunctionInfo *AArch64FI = nullptr;
@ -182,7 +182,7 @@ private:
} // end anonymous namespace } // end anonymous namespace
void AArch64AsmPrinter::EmitStartOfAsmFile(Module &M) { void AArch64AsmPrinter::emitStartOfAsmFile(Module &M) {
if (!TM.getTargetTriple().isOSBinFormatELF()) if (!TM.getTargetTriple().isOSBinFormatELF())
return; return;
@ -518,7 +518,7 @@ void AArch64AsmPrinter::EmitHwasanMemaccessSymbols(Module &M) {
} }
} }
void AArch64AsmPrinter::EmitEndOfAsmFile(Module &M) { void AArch64AsmPrinter::emitEndOfAsmFile(Module &M) {
EmitHwasanMemaccessSymbols(M); EmitHwasanMemaccessSymbols(M);
const Triple &TT = TM.getTargetTriple(); const Triple &TT = TM.getTargetTriple();
@ -548,7 +548,7 @@ void AArch64AsmPrinter::EmitLOHs() {
} }
} }
void AArch64AsmPrinter::EmitFunctionBodyEnd() { void AArch64AsmPrinter::emitFunctionBodyEnd() {
if (!AArch64FI->getLOHRelated().empty()) if (!AArch64FI->getLOHRelated().empty())
EmitLOHs(); EmitLOHs();
} }

View File

@ -112,7 +112,7 @@ AMDGPUTargetStreamer* AMDGPUAsmPrinter::getTargetStreamer() const {
return static_cast<AMDGPUTargetStreamer*>(OutStreamer->getTargetStreamer()); return static_cast<AMDGPUTargetStreamer*>(OutStreamer->getTargetStreamer());
} }
void AMDGPUAsmPrinter::EmitStartOfAsmFile(Module &M) { void AMDGPUAsmPrinter::emitStartOfAsmFile(Module &M) {
if (IsaInfo::hasCodeObjectV3(getGlobalSTI())) { if (IsaInfo::hasCodeObjectV3(getGlobalSTI())) {
std::string ExpectedTarget; std::string ExpectedTarget;
raw_string_ostream ExpectedTargetOS(ExpectedTarget); raw_string_ostream ExpectedTargetOS(ExpectedTarget);
@ -144,7 +144,7 @@ void AMDGPUAsmPrinter::EmitStartOfAsmFile(Module &M) {
Version.Major, Version.Minor, Version.Stepping, "AMD", "AMDGPU"); Version.Major, Version.Minor, Version.Stepping, "AMD", "AMDGPU");
} }
void AMDGPUAsmPrinter::EmitEndOfAsmFile(Module &M) { void AMDGPUAsmPrinter::emitEndOfAsmFile(Module &M) {
// Following code requires TargetStreamer to be present. // Following code requires TargetStreamer to be present.
if (!getTargetStreamer()) if (!getTargetStreamer())
return; return;
@ -180,7 +180,7 @@ bool AMDGPUAsmPrinter::isBlockOnlyReachableByFallthrough(
return (MBB->back().getOpcode() != AMDGPU::S_SETPC_B64); return (MBB->back().getOpcode() != AMDGPU::S_SETPC_B64);
} }
void AMDGPUAsmPrinter::EmitFunctionBodyStart() { void AMDGPUAsmPrinter::emitFunctionBodyStart() {
const SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>(); const SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>();
if (!MFI.isEntryFunction()) if (!MFI.isEntryFunction())
return; return;
@ -199,7 +199,7 @@ void AMDGPUAsmPrinter::EmitFunctionBodyStart() {
HSAMetadataStream->emitKernel(*MF, CurrentProgramInfo); HSAMetadataStream->emitKernel(*MF, CurrentProgramInfo);
} }
void AMDGPUAsmPrinter::EmitFunctionBodyEnd() { void AMDGPUAsmPrinter::emitFunctionBodyEnd() {
const SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>(); const SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>();
if (!MFI.isEntryFunction()) if (!MFI.isEntryFunction())
return; return;
@ -239,10 +239,10 @@ void AMDGPUAsmPrinter::EmitFunctionBodyEnd() {
Streamer.PopSection(); Streamer.PopSection();
} }
void AMDGPUAsmPrinter::EmitFunctionEntryLabel() { void AMDGPUAsmPrinter::emitFunctionEntryLabel() {
if (IsaInfo::hasCodeObjectV3(getGlobalSTI()) && if (IsaInfo::hasCodeObjectV3(getGlobalSTI()) &&
TM.getTargetTriple().getOS() == Triple::AMDHSA) { TM.getTargetTriple().getOS() == Triple::AMDHSA) {
AsmPrinter::EmitFunctionEntryLabel(); AsmPrinter::emitFunctionEntryLabel();
return; return;
} }
@ -261,10 +261,10 @@ void AMDGPUAsmPrinter::EmitFunctionEntryLabel() {
HexLines.push_back(""); HexLines.push_back("");
} }
AsmPrinter::EmitFunctionEntryLabel(); AsmPrinter::emitFunctionEntryLabel();
} }
void AMDGPUAsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) { void AMDGPUAsmPrinter::emitBasicBlockStart(const MachineBasicBlock &MBB) {
if (DumpCodeInstEmitter && !isBlockOnlyReachableByFallthrough(&MBB)) { if (DumpCodeInstEmitter && !isBlockOnlyReachableByFallthrough(&MBB)) {
// Write a line for the basic block label if it is not only fallthrough. // Write a line for the basic block label if it is not only fallthrough.
DisasmLines.push_back( DisasmLines.push_back(
@ -273,7 +273,7 @@ void AMDGPUAsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) {
DisasmLineMaxLen = std::max(DisasmLineMaxLen, DisasmLines.back().size()); DisasmLineMaxLen = std::max(DisasmLineMaxLen, DisasmLines.back().size());
HexLines.push_back(""); HexLines.push_back("");
} }
AsmPrinter::EmitBasicBlockStart(MBB); AsmPrinter::emitBasicBlockStart(MBB);
} }
void AMDGPUAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) { void AMDGPUAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
@ -460,7 +460,7 @@ bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
HexLines.clear(); HexLines.clear();
DisasmLineMaxLen = 0; DisasmLineMaxLen = 0;
EmitFunctionBody(); emitFunctionBody();
if (isVerbose()) { if (isVerbose()) {
MCSectionELF *CommentSection = MCSectionELF *CommentSection =

View File

@ -123,19 +123,19 @@ public:
/// Implemented in AMDGPUMCInstLower.cpp /// Implemented in AMDGPUMCInstLower.cpp
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitBasicBlockStart(const MachineBasicBlock &MBB) override; void emitBasicBlockStart(const MachineBasicBlock &MBB) override;
void EmitGlobalVariable(const GlobalVariable *GV) override; void EmitGlobalVariable(const GlobalVariable *GV) override;
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
bool isBlockOnlyReachableByFallthrough( bool isBlockOnlyReachableByFallthrough(
const MachineBasicBlock *MBB) const override; const MachineBasicBlock *MBB) const override;

View File

@ -115,7 +115,7 @@ bool R600AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
EmitProgramInfoR600(MF); EmitProgramInfoR600(MF);
EmitFunctionBody(); emitFunctionBody();
if (isVerbose()) { if (isVerbose()) {
MCSectionELF *CommentSection = MCSectionELF *CommentSection =

View File

@ -57,7 +57,7 @@ ARMAsmPrinter::ARMAsmPrinter(TargetMachine &TM,
: AsmPrinter(TM, std::move(Streamer)), Subtarget(nullptr), AFI(nullptr), : AsmPrinter(TM, std::move(Streamer)), Subtarget(nullptr), AFI(nullptr),
MCP(nullptr), InConstantPool(false), OptimizationGoals(-1) {} MCP(nullptr), InConstantPool(false), OptimizationGoals(-1) {}
void ARMAsmPrinter::EmitFunctionBodyEnd() { void ARMAsmPrinter::emitFunctionBodyEnd() {
// Make sure to terminate any constant pools that were at the end // Make sure to terminate any constant pools that were at the end
// of the function. // of the function.
if (!InConstantPool) if (!InConstantPool)
@ -66,7 +66,7 @@ void ARMAsmPrinter::EmitFunctionBodyEnd() {
OutStreamer->EmitDataRegion(MCDR_DataRegionEnd); OutStreamer->EmitDataRegion(MCDR_DataRegionEnd);
} }
void ARMAsmPrinter::EmitFunctionEntryLabel() { void ARMAsmPrinter::emitFunctionEntryLabel() {
if (AFI->isThumbFunction()) { if (AFI->isThumbFunction()) {
OutStreamer->EmitAssemblerFlag(MCAF_Code16); OutStreamer->EmitAssemblerFlag(MCAF_Code16);
OutStreamer->EmitThumbFunc(CurrentFnSym); OutStreamer->EmitThumbFunc(CurrentFnSym);
@ -158,7 +158,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
} }
// Emit the rest of the function body. // Emit the rest of the function body.
EmitFunctionBody(); emitFunctionBody();
// Emit the XRay table for this function. // Emit the XRay table for this function.
emitXRayTable(); emitXRayTable();
@ -471,7 +471,7 @@ void ARMAsmPrinter::emitInlineAsmEnd(const MCSubtargetInfo &StartInfo,
} }
} }
void ARMAsmPrinter::EmitStartOfAsmFile(Module &M) { void ARMAsmPrinter::emitStartOfAsmFile(Module &M) {
const Triple &TT = TM.getTargetTriple(); const Triple &TT = TM.getTargetTriple();
// Use unified assembler syntax. // Use unified assembler syntax.
OutStreamer->EmitAssemblerFlag(MCAF_SyntaxUnified); OutStreamer->EmitAssemblerFlag(MCAF_SyntaxUnified);
@ -511,7 +511,7 @@ emitNonLazySymbolPointer(MCStreamer &OutStreamer, MCSymbol *StubLabel,
} }
void ARMAsmPrinter::EmitEndOfAsmFile(Module &M) { void ARMAsmPrinter::emitEndOfAsmFile(Module &M) {
const Triple &TT = TM.getTargetTriple(); const Triple &TT = TM.getTargetTriple();
if (TT.isOSBinFormatMachO()) { if (TT.isOSBinFormatMachO()) {
// All darwin targets use mach-o. // All darwin targets use mach-o.
@ -570,7 +570,7 @@ void ARMAsmPrinter::EmitEndOfAsmFile(Module &M) {
} }
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Helper routines for EmitStartOfAsmFile() and EmitEndOfAsmFile() // Helper routines for emitStartOfAsmFile() and emitEndOfAsmFile()
// FIXME: // FIXME:
// The following seem like one-off assembler flags, but they actually need // The following seem like one-off assembler flags, but they actually need
// to appear in the .ARM.attributes section in ELF. // to appear in the .ARM.attributes section in ELF.

View File

@ -93,10 +93,10 @@ public:
void EmitConstantPool() override { void EmitConstantPool() override {
// we emit constant pools customly! // we emit constant pools customly!
} }
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
void EmitXXStructor(const DataLayout &DL, const Constant *CV) override; void EmitXXStructor(const DataLayout &DL, const Constant *CV) override;
void EmitGlobalVariable(const GlobalVariable *GV) override; void EmitGlobalVariable(const GlobalVariable *GV) override;
@ -117,7 +117,7 @@ public:
private: private:
void EmitSled(const MachineInstr &MI, SledKind Kind); void EmitSled(const MachineInstr &MI, SledKind Kind);
// Helpers for EmitStartOfAsmFile() and EmitEndOfAsmFile() // Helpers for emitStartOfAsmFile() and emitEndOfAsmFile()
void emitAttributes(); void emitAttributes();
// Generic helper used to emit e.g. ARMv5 mul pseudos // Generic helper used to emit e.g. ARMv5 mul pseudos

View File

@ -1275,7 +1275,7 @@ void HexagonDAGToDAGISel::PreprocessISelDAG() {
} }
} }
void HexagonDAGToDAGISel::EmitFunctionEntryCode() { void HexagonDAGToDAGISel::emitFunctionEntryCode() {
auto &HST = MF->getSubtarget<HexagonSubtarget>(); auto &HST = MF->getSubtarget<HexagonSubtarget>();
auto &HFI = *HST.getFrameLowering(); auto &HFI = *HST.getFrameLowering();
if (!HFI.needsAligna(*MF)) if (!HFI.needsAligna(*MF))

View File

@ -51,7 +51,7 @@ public:
return true; return true;
} }
void PreprocessISelDAG() override; void PreprocessISelDAG() override;
void EmitFunctionEntryCode() override; void emitFunctionEntryCode() override;
void Select(SDNode *N) override; void Select(SDNode *N) override;

View File

@ -180,7 +180,7 @@ bool MSP430AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
} }
SetupMachineFunction(MF); SetupMachineFunction(MF);
EmitFunctionBody(); emitFunctionBody();
return false; return false;
} }

View File

@ -398,7 +398,7 @@ const char *MipsAsmPrinter::getCurrentABIString() const {
} }
} }
void MipsAsmPrinter::EmitFunctionEntryLabel() { void MipsAsmPrinter::emitFunctionEntryLabel() {
MipsTargetStreamer &TS = getTargetStreamer(); MipsTargetStreamer &TS = getTargetStreamer();
// NaCl sandboxing requires that indirect call instructions are masked. // NaCl sandboxing requires that indirect call instructions are masked.
@ -424,7 +424,7 @@ void MipsAsmPrinter::EmitFunctionEntryLabel() {
/// EmitFunctionBodyStart - Targets can override this to emit stuff before /// EmitFunctionBodyStart - Targets can override this to emit stuff before
/// the first basic block in the function. /// the first basic block in the function.
void MipsAsmPrinter::EmitFunctionBodyStart() { void MipsAsmPrinter::emitFunctionBodyStart() {
MipsTargetStreamer &TS = getTargetStreamer(); MipsTargetStreamer &TS = getTargetStreamer();
MCInstLowering.Initialize(&MF->getContext()); MCInstLowering.Initialize(&MF->getContext());
@ -445,7 +445,7 @@ void MipsAsmPrinter::EmitFunctionBodyStart() {
/// EmitFunctionBodyEnd - Targets can override this to emit stuff after /// EmitFunctionBodyEnd - Targets can override this to emit stuff after
/// the last basic block in the function. /// the last basic block in the function.
void MipsAsmPrinter::EmitFunctionBodyEnd() { void MipsAsmPrinter::emitFunctionBodyEnd() {
MipsTargetStreamer &TS = getTargetStreamer(); MipsTargetStreamer &TS = getTargetStreamer();
// There are instruction for this macros, but they must // There are instruction for this macros, but they must
@ -465,8 +465,8 @@ void MipsAsmPrinter::EmitFunctionBodyEnd() {
OutStreamer->EmitDataRegion(MCDR_DataRegionEnd); OutStreamer->EmitDataRegion(MCDR_DataRegionEnd);
} }
void MipsAsmPrinter::EmitBasicBlockEnd(const MachineBasicBlock &MBB) { void MipsAsmPrinter::emitBasicBlockEnd(const MachineBasicBlock &MBB) {
AsmPrinter::EmitBasicBlockEnd(MBB); AsmPrinter::emitBasicBlockEnd(MBB);
MipsTargetStreamer &TS = getTargetStreamer(); MipsTargetStreamer &TS = getTargetStreamer();
if (MBB.empty()) if (MBB.empty())
TS.emitDirectiveInsn(); TS.emitDirectiveInsn();
@ -770,7 +770,7 @@ printRegisterList(const MachineInstr *MI, int opNum, raw_ostream &O) {
} }
} }
void MipsAsmPrinter::EmitStartOfAsmFile(Module &M) { void MipsAsmPrinter::emitStartOfAsmFile(Module &M) {
MipsTargetStreamer &TS = getTargetStreamer(); MipsTargetStreamer &TS = getTargetStreamer();
// MipsTargetStreamer has an initialization order problem when emitting an // MipsTargetStreamer has an initialization order problem when emitting an
@ -1122,7 +1122,7 @@ void MipsAsmPrinter::EmitFPCallStub(
OutStreamer->PopSection(); OutStreamer->PopSection();
} }
void MipsAsmPrinter::EmitEndOfAsmFile(Module &M) { void MipsAsmPrinter::emitEndOfAsmFile(Module &M) {
// Emit needed stubs // Emit needed stubs
// //
for (std::map< for (std::map<

View File

@ -138,10 +138,10 @@ public:
void printSavedRegsBitmask(); void printSavedRegsBitmask();
void emitFrameDirective(); void emitFrameDirective();
const char *getCurrentABIString() const; const char *getCurrentABIString() const;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
void EmitBasicBlockEnd(const MachineBasicBlock &MBB) override; void emitBasicBlockEnd(const MachineBasicBlock &MBB) override;
bool isBlockOnlyReachableByFallthrough( bool isBlockOnlyReachableByFallthrough(
const MachineBasicBlock* MBB) const override; const MachineBasicBlock* MBB) const override;
bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
@ -154,8 +154,8 @@ public:
void printFCCOperand(const MachineInstr *MI, int opNum, raw_ostream &O, void printFCCOperand(const MachineInstr *MI, int opNum, raw_ostream &O,
const char *Modifier = nullptr); const char *Modifier = nullptr);
void printRegisterList(const MachineInstr *MI, int opNum, raw_ostream &O); void printRegisterList(const MachineInstr *MI, int opNum, raw_ostream &O);
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
void PrintDebugValueComment(const MachineInstr *MI, raw_ostream &OS); void PrintDebugValueComment(const MachineInstr *MI, raw_ostream &OS);
void EmitDebugValue(const MCExpr *Value, unsigned Size) const override; void EmitDebugValue(const MCExpr *Value, unsigned Size) const override;
}; };

View File

@ -434,13 +434,13 @@ bool NVPTXAsmPrinter::isLoopHeaderOfNoUnroll(
return false; return false;
} }
void NVPTXAsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) { void NVPTXAsmPrinter::emitBasicBlockStart(const MachineBasicBlock &MBB) {
AsmPrinter::EmitBasicBlockStart(MBB); AsmPrinter::emitBasicBlockStart(MBB);
if (isLoopHeaderOfNoUnroll(MBB)) if (isLoopHeaderOfNoUnroll(MBB))
OutStreamer->EmitRawText(StringRef("\t.pragma \"nounroll\";\n")); OutStreamer->EmitRawText(StringRef("\t.pragma \"nounroll\";\n"));
} }
void NVPTXAsmPrinter::EmitFunctionEntryLabel() { void NVPTXAsmPrinter::emitFunctionEntryLabel() {
SmallString<128> Str; SmallString<128> Str;
raw_svector_ostream O(Str); raw_svector_ostream O(Str);
@ -489,14 +489,14 @@ bool NVPTXAsmPrinter::runOnMachineFunction(MachineFunction &F) {
return Result; return Result;
} }
void NVPTXAsmPrinter::EmitFunctionBodyStart() { void NVPTXAsmPrinter::emitFunctionBodyStart() {
SmallString<128> Str; SmallString<128> Str;
raw_svector_ostream O(Str); raw_svector_ostream O(Str);
emitDemotedVars(&MF->getFunction(), O); emitDemotedVars(&MF->getFunction(), O);
OutStreamer->EmitRawText(O.str()); OutStreamer->EmitRawText(O.str());
} }
void NVPTXAsmPrinter::EmitFunctionBodyEnd() { void NVPTXAsmPrinter::emitFunctionBodyEnd() {
VRegMapping.clear(); VRegMapping.clear();
} }

View File

@ -200,10 +200,10 @@ private:
const Function *F; const Function *F;
std::string CurrentFnName; std::string CurrentFnName;
void EmitBasicBlockStart(const MachineBasicBlock &MBB) override; void emitBasicBlockStart(const MachineBasicBlock &MBB) override;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
void emitImplicitDef(const MachineInstr *MI) const override; void emitImplicitDef(const MachineInstr *MI) const override;
void EmitInstruction(const MachineInstr *) override; void EmitInstruction(const MachineInstr *) override;

View File

@ -113,7 +113,7 @@ public:
bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
const char *ExtraCode, raw_ostream &O) override; const char *ExtraCode, raw_ostream &O) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
void LowerSTACKMAP(StackMaps &SM, const MachineInstr &MI); void LowerSTACKMAP(StackMaps &SM, const MachineInstr &MI);
void LowerPATCHPOINT(StackMaps &SM, const MachineInstr &MI); void LowerPATCHPOINT(StackMaps &SM, const MachineInstr &MI);
@ -138,12 +138,12 @@ public:
} }
bool doFinalization(Module &M) override; bool doFinalization(Module &M) override;
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
}; };
@ -165,9 +165,9 @@ public:
void EmitGlobalVariable(const GlobalVariable *GV) override; void EmitGlobalVariable(const GlobalVariable *GV) override;
void EmitFunctionDescriptor() override; void emitFunctionDescriptor() override;
void EmitEndOfAsmFile(Module &) override; void emitEndOfAsmFile(Module &) override;
}; };
} // end anonymous namespace } // end anonymous namespace
@ -317,7 +317,7 @@ MCSymbol *PPCAsmPrinter::lookUpOrCreateTOCEntry(const MCSymbol *Sym) {
return TOCEntry; return TOCEntry;
} }
void PPCAsmPrinter::EmitEndOfAsmFile(Module &M) { void PPCAsmPrinter::emitEndOfAsmFile(Module &M) {
emitStackMaps(SM); emitStackMaps(SM);
} }
@ -1287,7 +1287,7 @@ void PPCLinuxAsmPrinter::EmitInstruction(const MachineInstr *MI) {
} }
} }
void PPCLinuxAsmPrinter::EmitStartOfAsmFile(Module &M) { void PPCLinuxAsmPrinter::emitStartOfAsmFile(Module &M) {
if (static_cast<const PPCTargetMachine &>(TM).isELFv2ABI()) { if (static_cast<const PPCTargetMachine &>(TM).isELFv2ABI()) {
PPCTargetStreamer *TS = PPCTargetStreamer *TS =
static_cast<PPCTargetStreamer *>(OutStreamer->getTargetStreamer()); static_cast<PPCTargetStreamer *>(OutStreamer->getTargetStreamer());
@ -1298,10 +1298,10 @@ void PPCLinuxAsmPrinter::EmitStartOfAsmFile(Module &M) {
if (static_cast<const PPCTargetMachine &>(TM).isPPC64() || if (static_cast<const PPCTargetMachine &>(TM).isPPC64() ||
!isPositionIndependent()) !isPositionIndependent())
return AsmPrinter::EmitStartOfAsmFile(M); return AsmPrinter::emitStartOfAsmFile(M);
if (M.getPICLevel() == PICLevel::SmallPIC) if (M.getPICLevel() == PICLevel::SmallPIC)
return AsmPrinter::EmitStartOfAsmFile(M); return AsmPrinter::emitStartOfAsmFile(M);
OutStreamer->SwitchSection(OutContext.getELFSection( OutStreamer->SwitchSection(OutContext.getELFSection(
".got2", ELF::SHT_PROGBITS, ELF::SHF_WRITE | ELF::SHF_ALLOC)); ".got2", ELF::SHT_PROGBITS, ELF::SHF_WRITE | ELF::SHF_ALLOC));
@ -1323,12 +1323,12 @@ void PPCLinuxAsmPrinter::EmitStartOfAsmFile(Module &M) {
OutStreamer->SwitchSection(getObjFileLowering().getTextSection()); OutStreamer->SwitchSection(getObjFileLowering().getTextSection());
} }
void PPCLinuxAsmPrinter::EmitFunctionEntryLabel() { void PPCLinuxAsmPrinter::emitFunctionEntryLabel() {
// linux/ppc32 - Normal entry label. // linux/ppc32 - Normal entry label.
if (!Subtarget->isPPC64() && if (!Subtarget->isPPC64() &&
(!isPositionIndependent() || (!isPositionIndependent() ||
MF->getFunction().getParent()->getPICLevel() == PICLevel::SmallPIC)) MF->getFunction().getParent()->getPICLevel() == PICLevel::SmallPIC))
return AsmPrinter::EmitFunctionEntryLabel(); return AsmPrinter::emitFunctionEntryLabel();
if (!Subtarget->isPPC64()) { if (!Subtarget->isPPC64()) {
const PPCFunctionInfo *PPCFI = MF->getInfo<PPCFunctionInfo>(); const PPCFunctionInfo *PPCFI = MF->getInfo<PPCFunctionInfo>();
@ -1347,7 +1347,7 @@ void PPCLinuxAsmPrinter::EmitFunctionEntryLabel() {
OutStreamer->EmitLabel(CurrentFnSym); OutStreamer->EmitLabel(CurrentFnSym);
return; return;
} else } else
return AsmPrinter::EmitFunctionEntryLabel(); return AsmPrinter::emitFunctionEntryLabel();
} }
// ELFv2 ABI - Normal entry label. // ELFv2 ABI - Normal entry label.
@ -1371,7 +1371,7 @@ void PPCLinuxAsmPrinter::EmitFunctionEntryLabel() {
OutStreamer->EmitLabel(PPCFI->getTOCOffsetSymbol()); OutStreamer->EmitLabel(PPCFI->getTOCOffsetSymbol());
OutStreamer->EmitValue(TOCDeltaExpr, 8); OutStreamer->EmitValue(TOCDeltaExpr, 8);
} }
return AsmPrinter::EmitFunctionEntryLabel(); return AsmPrinter::emitFunctionEntryLabel();
} }
// Emit an official procedure descriptor. // Emit an official procedure descriptor.
@ -1433,7 +1433,7 @@ bool PPCLinuxAsmPrinter::doFinalization(Module &M) {
} }
/// EmitFunctionBodyStart - Emit a global entry point prefix for ELFv2. /// EmitFunctionBodyStart - Emit a global entry point prefix for ELFv2.
void PPCLinuxAsmPrinter::EmitFunctionBodyStart() { void PPCLinuxAsmPrinter::emitFunctionBodyStart() {
// In the ELFv2 ABI, in functions that use the TOC register, we need to // In the ELFv2 ABI, in functions that use the TOC register, we need to
// provide two entry points. The ABI guarantees that when calling the // provide two entry points. The ABI guarantees that when calling the
// local entry point, r2 is set up by the caller to contain the TOC base // local entry point, r2 is set up by the caller to contain the TOC base
@ -1530,7 +1530,7 @@ void PPCLinuxAsmPrinter::EmitFunctionBodyStart() {
/// EmitFunctionBodyEnd - Print the traceback table before the .size /// EmitFunctionBodyEnd - Print the traceback table before the .size
/// directive. /// directive.
/// ///
void PPCLinuxAsmPrinter::EmitFunctionBodyEnd() { void PPCLinuxAsmPrinter::emitFunctionBodyEnd() {
// Only the 64-bit target requires a traceback table. For now, // Only the 64-bit target requires a traceback table. For now,
// we only emit the word of zeroes that GDB requires to find // we only emit the word of zeroes that GDB requires to find
// the end of the function, and zeroes for the eight-byte // the end of the function, and zeroes for the eight-byte
@ -1637,7 +1637,7 @@ void PPCAIXAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
EmitGlobalConstant(GV->getParent()->getDataLayout(), GV->getInitializer()); EmitGlobalConstant(GV->getParent()->getDataLayout(), GV->getInitializer());
} }
void PPCAIXAsmPrinter::EmitFunctionDescriptor() { void PPCAIXAsmPrinter::emitFunctionDescriptor() {
const DataLayout &DL = getDataLayout(); const DataLayout &DL = getDataLayout();
const unsigned PointerSize = DL.getPointerSizeInBits() == 64 ? 8 : 4; const unsigned PointerSize = DL.getPointerSizeInBits() == 64 ? 8 : 4;
@ -1661,7 +1661,7 @@ void PPCAIXAsmPrinter::EmitFunctionDescriptor() {
OutStreamer->SwitchSection(Current.first, Current.second); OutStreamer->SwitchSection(Current.first, Current.second);
} }
void PPCAIXAsmPrinter::EmitEndOfAsmFile(Module &M) { void PPCAIXAsmPrinter::emitEndOfAsmFile(Module &M) {
// If there are no functions in this module, we will never need to reference // If there are no functions in this module, we will never need to reference
// the TOC base. // the TOC base.
if (M.empty()) if (M.empty())

View File

@ -52,7 +52,7 @@ namespace {
void printMemOperand(const MachineInstr *MI, int opNum, raw_ostream &OS, void printMemOperand(const MachineInstr *MI, int opNum, raw_ostream &OS,
const char *Modifier = nullptr); const char *Modifier = nullptr);
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
static const char *getRegisterName(unsigned RegNo) { static const char *getRegisterName(unsigned RegNo) {
@ -270,7 +270,7 @@ void SparcAsmPrinter::EmitInstruction(const MachineInstr *MI)
} while ((++I != E) && I->isInsideBundle()); // Delay slot check. } while ((++I != E) && I->isInsideBundle()); // Delay slot check.
} }
void SparcAsmPrinter::EmitFunctionBodyStart() { void SparcAsmPrinter::emitFunctionBodyStart() {
if (!MF->getSubtarget<SparcSubtarget>().is64Bit()) if (!MF->getSubtarget<SparcSubtarget>().is64Bit())
return; return;

View File

@ -719,7 +719,7 @@ bool SystemZAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI,
return false; return false;
} }
void SystemZAsmPrinter::EmitEndOfAsmFile(Module &M) { void SystemZAsmPrinter::emitEndOfAsmFile(Module &M) {
emitStackMaps(SM); emitStackMaps(SM);
} }

View File

@ -34,7 +34,7 @@ public:
StringRef getPassName() const override { return "SystemZ Assembly Printer"; } StringRef getPassName() const override { return "SystemZ Assembly Printer"; }
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) override; void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
const char *ExtraCode, raw_ostream &OS) override; const char *ExtraCode, raw_ostream &OS) override;
bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,

View File

@ -85,7 +85,7 @@ WebAssemblyTargetStreamer *WebAssemblyAsmPrinter::getTargetStreamer() {
// WebAssemblyAsmPrinter Implementation. // WebAssemblyAsmPrinter Implementation.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
void WebAssemblyAsmPrinter::EmitEndOfAsmFile(Module &M) { void WebAssemblyAsmPrinter::emitEndOfAsmFile(Module &M) {
for (auto &It : OutContext.getSymbols()) { for (auto &It : OutContext.getSymbols()) {
// Emit a .globaltype and .eventtype declaration. // Emit a .globaltype and .eventtype declaration.
auto Sym = cast<MCSymbolWasm>(It.getValue()); auto Sym = cast<MCSymbolWasm>(It.getValue());
@ -286,7 +286,7 @@ void WebAssemblyAsmPrinter::EmitJumpTableInfo() {
// Nothing to do; jump tables are incorporated into the instruction stream. // Nothing to do; jump tables are incorporated into the instruction stream.
} }
void WebAssemblyAsmPrinter::EmitFunctionBodyStart() { void WebAssemblyAsmPrinter::emitFunctionBodyStart() {
const Function &F = MF->getFunction(); const Function &F = MF->getFunction();
SmallVector<MVT, 1> ResultVTs; SmallVector<MVT, 1> ResultVTs;
SmallVector<MVT, 4> ParamVTs; SmallVector<MVT, 4> ParamVTs;
@ -312,7 +312,7 @@ void WebAssemblyAsmPrinter::EmitFunctionBodyStart() {
valTypesFromMVTs(MFI->getLocals(), Locals); valTypesFromMVTs(MFI->getLocals(), Locals);
getTargetStreamer()->emitLocal(Locals); getTargetStreamer()->emitLocal(Locals);
AsmPrinter::EmitFunctionBodyStart(); AsmPrinter::emitFunctionBodyStart();
} }
void WebAssemblyAsmPrinter::EmitInstruction(const MachineInstr *MI) { void WebAssemblyAsmPrinter::EmitInstruction(const MachineInstr *MI) {

View File

@ -57,12 +57,12 @@ public:
// AsmPrinter Implementation. // AsmPrinter Implementation.
//===------------------------------------------------------------------===// //===------------------------------------------------------------------===//
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
void EmitProducerInfo(Module &M); void EmitProducerInfo(Module &M);
void EmitTargetFeatures(Module &M); void EmitTargetFeatures(Module &M);
void EmitJumpTableInfo() override; void EmitJumpTableInfo() override;
void EmitConstantPool() override; void EmitConstantPool() override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
const char *ExtraCode, raw_ostream &OS) override; const char *ExtraCode, raw_ostream &OS) override;

View File

@ -76,7 +76,7 @@ bool X86AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
} }
// Emit the rest of the function body. // Emit the rest of the function body.
EmitFunctionBody(); emitFunctionBody();
// Emit the XRay table for this function. // Emit the XRay table for this function.
emitXRayTable(); emitXRayTable();
@ -87,7 +87,7 @@ bool X86AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
return false; return false;
} }
void X86AsmPrinter::EmitFunctionBodyStart() { void X86AsmPrinter::emitFunctionBodyStart() {
if (EmitFPOData) { if (EmitFPOData) {
if (auto *XTS = if (auto *XTS =
static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer())) static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer()))
@ -97,7 +97,7 @@ void X86AsmPrinter::EmitFunctionBodyStart() {
} }
} }
void X86AsmPrinter::EmitFunctionBodyEnd() { void X86AsmPrinter::emitFunctionBodyEnd() {
if (EmitFPOData) { if (EmitFPOData) {
if (auto *XTS = if (auto *XTS =
static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer())) static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer()))
@ -575,7 +575,7 @@ bool X86AsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
return false; return false;
} }
void X86AsmPrinter::EmitStartOfAsmFile(Module &M) { void X86AsmPrinter::emitStartOfAsmFile(Module &M) {
const Triple &TT = TM.getTargetTriple(); const Triple &TT = TM.getTargetTriple();
if (TT.isOSBinFormatELF()) { if (TT.isOSBinFormatELF()) {
@ -698,7 +698,7 @@ static void emitNonLazyStubs(MachineModuleInfo *MMI, MCStreamer &OutStreamer) {
} }
} }
void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { void X86AsmPrinter::emitEndOfAsmFile(Module &M) {
const Triple &TT = TM.getTargetTriple(); const Triple &TT = TM.getTargetTriple();
if (TT.isOSBinFormatMachO()) { if (TT.isOSBinFormatMachO()) {

View File

@ -123,14 +123,14 @@ public:
const X86Subtarget &getSubtarget() const { return *Subtarget; } const X86Subtarget &getSubtarget() const { return *Subtarget; }
void EmitStartOfAsmFile(Module &M) override; void emitStartOfAsmFile(Module &M) override;
void EmitEndOfAsmFile(Module &M) override; void emitEndOfAsmFile(Module &M) override;
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
void EmitBasicBlockEnd(const MachineBasicBlock &MBB) override { void emitBasicBlockEnd(const MachineBasicBlock &MBB) override {
AsmPrinter::EmitBasicBlockEnd(MBB); AsmPrinter::emitBasicBlockEnd(MBB);
SMShadowTracker.emitShadowPadding(*OutStreamer, getSubtargetInfo()); SMShadowTracker.emitShadowPadding(*OutStreamer, getSubtargetInfo());
} }
@ -147,8 +147,8 @@ public:
} }
bool runOnMachineFunction(MachineFunction &F) override; bool runOnMachineFunction(MachineFunction &F) override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
}; };
} // end namespace llvm } // end namespace llvm

View File

@ -196,7 +196,7 @@ namespace {
return true; return true;
} }
void EmitFunctionEntryCode() override; void emitFunctionEntryCode() override;
bool IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const override; bool IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const override;
@ -1390,7 +1390,7 @@ void X86DAGToDAGISel::emitSpecialCodeForMain() {
} }
} }
void X86DAGToDAGISel::EmitFunctionEntryCode() { void X86DAGToDAGISel::emitFunctionEntryCode() {
// If this is main, emit special code for main. // If this is main, emit special code for main.
const Function &F = MF->getFunction(); const Function &F = MF->getFunction();
if (F.hasExternalLinkage() && F.getName() == "main") if (F.hasExternalLinkage() && F.getName() == "main")

View File

@ -74,10 +74,10 @@ namespace {
void emitArrayBound(MCSymbol *Sym, const GlobalVariable *GV); void emitArrayBound(MCSymbol *Sym, const GlobalVariable *GV);
void EmitGlobalVariable(const GlobalVariable *GV) override; void EmitGlobalVariable(const GlobalVariable *GV) override;
void EmitFunctionEntryLabel() override; void emitFunctionEntryLabel() override;
void EmitInstruction(const MachineInstr *MI) override; void EmitInstruction(const MachineInstr *MI) override;
void EmitFunctionBodyStart() override; void emitFunctionBodyStart() override;
void EmitFunctionBodyEnd() override; void emitFunctionBodyEnd() override;
}; };
} // end of anonymous namespace } // end of anonymous namespace
@ -165,18 +165,18 @@ void XCoreAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
getTargetStreamer().emitCCBottomData(GVSym->getName()); getTargetStreamer().emitCCBottomData(GVSym->getName());
} }
void XCoreAsmPrinter::EmitFunctionBodyStart() { void XCoreAsmPrinter::emitFunctionBodyStart() {
MCInstLowering.Initialize(&MF->getContext()); MCInstLowering.Initialize(&MF->getContext());
} }
/// EmitFunctionBodyEnd - Targets can override this to emit stuff after /// EmitFunctionBodyEnd - Targets can override this to emit stuff after
/// the last basic block in the function. /// the last basic block in the function.
void XCoreAsmPrinter::EmitFunctionBodyEnd() { void XCoreAsmPrinter::emitFunctionBodyEnd() {
// Emit function end directives // Emit function end directives
getTargetStreamer().emitCCBottomFunction(CurrentFnSym->getName()); getTargetStreamer().emitCCBottomFunction(CurrentFnSym->getName());
} }
void XCoreAsmPrinter::EmitFunctionEntryLabel() { void XCoreAsmPrinter::emitFunctionEntryLabel() {
// Mark the start of the function // Mark the start of the function
getTargetStreamer().emitCCTopFunction(CurrentFnSym->getName()); getTargetStreamer().emitCCTopFunction(CurrentFnSym->getName());
OutStreamer->EmitLabel(CurrentFnSym); OutStreamer->EmitLabel(CurrentFnSym);