mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
Eliminate the old LateResolveValues data structure, replacing it with a
new, simpler, ForwardReferences data structure. This is just the first simple replacement, subsequent changes will improve the code more. This simple change improves the performance of loading a file from HDF5 (contributed by Bill) from 2.36s to 1.93s, a 22% improvement. This presumably has to do with the fact that we only create ONE placeholder for a particular forward referenced values, and also may be because the data structure is much simpler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8979 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -57,7 +57,6 @@ public:
|
||||
}
|
||||
void freeState() {
|
||||
freeTable(Values);
|
||||
freeTable(LateResolveValues);
|
||||
freeTable(ModuleValues);
|
||||
}
|
||||
|
||||
@ -100,8 +99,9 @@ private:
|
||||
bool hasInternalMarkerOnly; // Only types of linkage are intern/external
|
||||
|
||||
typedef std::vector<ValueList*> ValueTable;
|
||||
ValueTable Values, LateResolveValues;
|
||||
ValueTable Values;
|
||||
ValueTable ModuleValues;
|
||||
std::map<std::pair<unsigned,unsigned>, Value*> ForwardReferences;
|
||||
|
||||
std::vector<BasicBlock*> ParsedBasicBlocks;
|
||||
|
||||
|
Reference in New Issue
Block a user