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?