This is an archive of the discontinued LLVM Phabricator instance.

Do not consider Shared symbols as defined symbols.
ClosedPublic

Authored by ruiu on Oct 27 2017, 4:05 PM.

Details

Summary

I don't remember why I made shared symbols one type of defined symbols.
Shared symbols aren't undefined, so it could be considered defined, but
categorizing three symbols as:

  • defined
    • really defined
    • shared
  • undefined

is not as intuitive as

  • defined
  • shared
  • undefined

to me. So, in this patch, I made a change to stop handling shared
symbols as defined symbols.

Surprisingly, I didn't have to update any tests for this change.

Diff Detail

Repository
rL LLVM

Event Timeline

ruiu created this revision.Oct 27 2017, 4:05 PM
ruiu updated this revision to Diff 120717.Oct 27 2017, 4:17 PM
  • actually fix the class hierarchy
ruiu added a comment.Oct 31 2017, 1:27 PM

What do you think of this?

With this patch, we can remove isInCurrentOutput() because it is equivalent to isa<Defined>().

ruiu updated this revision to Diff 121607.Nov 4 2017, 5:37 PM
  • Rebased
pcc accepted this revision.Nov 5 2017, 2:03 PM
pcc added a subscriber: pcc.

LGTM

This change makes sense to me as it should allow for further simplification of the class hierarchy.

This revision is now accepted and ready to land.Nov 5 2017, 2:03 PM
This revision was automatically updated to reflect the committed changes.