I do not know a straight forward method, but while synthesizing, the tool (DC) would spit out what flops are being synthesized. you can then use this info and write a TCL script to report all the corresponding clocks..
i think this would still not catch all the registers, if you have clock going through some mux select..
all registers which were to get the clock depending on the mux select will not be reported. Pls correct me if wrong