Replace GVFlags::LiveRoot with GVFlags::Live and use that instead of
all the DeadSymbols sets. This is refactoring in order to make
liveness information available in the RegularLTO pipeline
Details
- Reviewers
pcc mehdi_amini tejohnson
Diff Detail
- Repository
- rL LLVM
Event Timeline
| lib/Transforms/IPO/FunctionImport.cpp | ||
|---|---|---|
| 435–436 | Can this code be simplified to use a for loop? All it needs to do is add a ValueInfo to the worklist if it sees at least one live summary, right? | |
| 439 | Can we return if we see at least one live summary? I think there is an invariant in this function that if at least one summary for a GUID is live, all are live. | |
| lib/Transforms/IPO/FunctionImport.cpp | ||
|---|---|---|
| 439 | I was thinking just push ValueInfo(&Entry) onto the worklist here. Then you can replace the other call to makeLiveRoot with the loop that sets summaries to live and remove makeLiveRoot entirely. | |
| lib/Transforms/IPO/FunctionImport.cpp | ||
|---|---|---|
| 439 | But then we also need to do ++LiveSymbols in both places. I'm not sure it's a net win. | |
| lib/Transforms/IPO/FunctionImport.cpp | ||
|---|---|---|
| 439 | We just need to do it here, no? Otherwise we'd end up double counting live roots. | |
| lib/Transforms/IPO/FunctionImport.cpp | ||
|---|---|---|
| 439 | Oh right, good point. | |
Can this code be simplified to use a for loop? All it needs to do is add a ValueInfo to the worklist if it sees at least one live summary, right?