Simplification of libcalls like printf->puts must check for RtLibUseGOT metadata.
With -fno-plt, for example, calls to printf when getting converted to puts still use the PLT. This patch checks for the metadata "RtLibUseGOT" and annotates the declaration with the right attributes.
Can you get away without adding the extra argument? You should be able to retreive the module with F.getParent().