Prior to this while it would delete the dead DIGlobalVariables, it would
leave dead DICompileUnits and everything referenced therefrom. For a bit
bitcode file with thousands of compile units those dead nodes easily
outnumbered the real ones. Clean that up.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 5326 Build 5326: arc lint + arc unit
Event Timeline
Comment Actions
Can you add a CU that only has a DIGlobalVariableExpression with a DIExpression(DW_OP_constu 0, DW_OP_stack_value) to your testcase and verify that it survives?
Otherwise this LGTM.
lib/Transforms/IPO/StripSymbols.cpp | ||
---|---|---|
327 | . at the end :-) | |
353 | remove extra parens? | |
373 | It might be faster to just call clearOperands() instead of deleting the entire node? |
. at the end :-)