mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
Add a finishParse() callback to the targer asm parser
This callback is invoked when the parse has finished successfuly. It will be used to write out ARM constant pools to implement the ldr pseudo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197706 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
79b37835f9
commit
6075fa1e0e
@ -182,6 +182,11 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Allow a target to perform any actions after the parse completes
|
||||
/// successfully. For example, to write out constant pools for ldr pseudo on
|
||||
/// ARM.
|
||||
virtual void finishParse() {};
|
||||
|
||||
virtual void onLabelParsed(MCSymbol *Symbol) { };
|
||||
};
|
||||
|
||||
|
@ -677,6 +677,10 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
|
||||
}
|
||||
}
|
||||
|
||||
// Callback to the target parser in case it needs to do anything.
|
||||
if (!HadError)
|
||||
getTargetParser().finishParse();
|
||||
|
||||
// Finalize the output stream if there are no errors and if the client wants
|
||||
// us to.
|
||||
if (!HadError && !NoFinalize)
|
||||
|
Loading…
Reference in New Issue
Block a user