This is exactly what i m trying :

opt -load /home/tsharma/ankur/llvm/Debug/lib/ -hello <helloprog.bc> /dev/null


Well, you're not saving the output of your pass, it's going to
/dev/null. Try:

opt -load ... < input.bc > output.bc

And then look at how output differs from input.

If you want to be particularly lazy you can just type M.dump() at the very end of your pass too. Then you don’t even had to dissamble any bytecode files. (Assuming M is the name of your Module, and you are doing a ModulePass, otherwise F.dump() for a FunctionPass with F as the name of the function).