Your example is a little difficult to follow due (I think) to line-wrapping in your email. However, the problem seems to be that you have a load instruction that uses a constant
expression that uses the global.
What it sounds like you want to do is to find all *transitive* uses of the global (i.e., if a ConstantExpr uses a Global, and an Instruction uses the ConstantExpr, then you want to find the Instruction, too).
In that case, you can't just find all direct uses of the global. You have to iterate through all uses of the ConstantExpr as well (and potentially Constants and Instructions, depending on what you consider to be a "use" of the Global).
-- John T.