Assembly Printer


I have with me an LLVM pass that does some analysis of the operands. Based on this analysis I would like the assembly strings to be printed.
Say, If the operands have a property P, print add* r1,r2,r3 or print add r1,r2,r3.

Pleas note, I am not looking to add a new instruction add* but just print the assembly differently.
Is there any way I can modify the printing of the assembly strings based on the results of an LLVM pass on the operands?

On achieving this, I can modify the assembler to do whats needed for my architecture.

Do you have any advise for me on how to conditionally print the assembly strings?