mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Iterating over the IRGenModules and emitting every SILCoverageMap in the SILModule meant that we were emitting N copies of the coverage maps for parallel IRGen, where N is the number of output object files. This has always been wrong, but was previously saved by the fact that we would drop the coverage map on the floor if we didn't have the name data available. This would only be the case for the IRGenModule that had the emitted entity to profile, in addition to any IRGenModules that had inlined the body of a profiled enitity. As such, this prevented the duplication from being too egregious. However with the recent change to emit unused name data in the case where we don't already have name data available, we're now fully duplicating every coverage mapping, and emitting a ton of redundant name data. Fix things such that we only emit coverage mapping records for the IRGenModule that corresponds to the entity being profiled. rdar://102905496
2 lines
23 B
Swift
2 lines
23 B
Swift
public func func2() {}
|