[Bugpoint redesign] Added Pass to Remove Global Variables
This pass tries to remove Global Variables, as well as their derived uses. For example if a variable @x is used by %call1 and %call2, both these uses and the definition of @x are deleted. Moreover if %call1 or %call2 are used elsewhere those uses are also deleted, and so on recursively.
I'm still uncertain if this pass should remove derived uses, I'm open to suggestions.
Subscribers: mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D64176