Roman Levenstein
1bbf62d57c
Extend ClassHierarchyAnalysis to collect information about protocols and all their implementations.
...
This information can be used e.g. to implement a speculative devirtualization of protocols or by implementations of a different type-based analysis passes.
rdar://22808133
Swift SVN r32167
2015-09-22 23:09:42 +00:00
Mark Lacey
49ceee6c53
Remove duplicated word in comment.
...
Swift SVN r32003
2015-09-16 19:51:03 +00:00
Roman Levenstein
3c792e4648
Re-factor the computation of indirect sub-classes in ClassHierarchyAnalysis. NFC.
...
- Use a worklist based approach instead of the recursive one.
- Produce the set of indirect sub-classes in a breadth-first order.
Swift SVN r31955
2015-09-15 03:53:30 +00:00
Roman Levenstein
5e91fd3a62
Extend ClassHierarchyAnalysis to provide information about indirect subclasses. This is used e.g. by the upcoming devirtualizer changes.
...
Swift SVN r22521
2014-10-04 09:49:47 +00:00
Nadav Rotem
1b980052b1
Cache the class hierarchy construction.
...
Before this commit we scanned the vtables every time we wanted to know who are the subclasses of a class. Now we scan the vtables just once.
Swift SVN r20847
2014-07-31 21:07:11 +00:00
Nadav Rotem
8d3c54840d
PIC: Fix a bug in the code that collects subclasses. We want to collect indirect subclasses as well as direct sub classes.
...
Swift SVN r20745
2014-07-30 08:45:38 +00:00
Nadav Rotem
0cb8bf0ab8
Implement polymorphic inline caches.
...
Swift SVN r20740
2014-07-30 07:43:47 +00:00
Nadav Rotem
7faa5883df
Add a basic Class Hierarchy Analysis. At this point it only lists classes that are inherited from in this module.
...
Swift SVN r20710
2014-07-29 23:01:01 +00:00