Eliminating Unused Globals

Is there a pass or piece of code somewhere in LLVM that knows how to delete
GlobalVariables that are never used? And iterate to then delete
GlobalVariables that only were used (in their initializers) by GlobalVariables
previously deleted?

                             -Dave

http://llvm.org/docs/Passes.html#globaldce