mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Remove the "really gross hacks" that are there to deal with recursive functions.
Now we collect all of the call sites we are interested in inlining, then inline them. This entirely avoids issues with trying to inline a call site we got by inlining another call site. This also eliminates iterator invalidation issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12770 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -56,12 +56,6 @@ struct Inliner : public CallGraphSCCPass {
|
||||
private:
|
||||
// InlineThreshold - Cache the value here for easy access.
|
||||
unsigned InlineThreshold;
|
||||
|
||||
// IsRecursiveFunction - This contains all functions which are directly
|
||||
// recursive, which we do NOT want to inline into other functions.
|
||||
std::set<Function*> IsRecursiveFunction;
|
||||
|
||||
bool performInlining(CallSite CS, std::set<Function*> &SCC);
|
||||
};
|
||||
|
||||
} // End llvm namespace
|
||||
|
Reference in New Issue
Block a user