Handle "leaf functions" first in full inliner.

This commit is contained in:
chriseth
2020-09-10 17:01:19 +02:00
parent 0db79dbc29
commit f102feaf09
17 changed files with 463 additions and 346 deletions
+4
View File
@@ -94,6 +94,10 @@ private:
FullInliner(Block& _ast, NameDispenser& _dispenser, Dialect const& _dialect);
void run();
/// @returns a map containing the maximum depths of a call chain starting at each
/// function. For recursive functions, the value is one larger than for all others.
std::map<YulString, size_t> callDepths() const;
void updateCodeSize(FunctionDefinition const& _fun);
void handleBlock(YulString _currentFunctionName, Block& _block);
bool recursive(FunctionDefinition const& _fun) const;