This patch attempts to add a target-overridable hook for allowing module metadata
to override TargetMachine options, especially during LTO.
The new hook is called TargetMachine::resetTargetDefaultOptions and takes the
llvm::Module so that the module metadata can be read with the API provided
It is not clear that this patch handles LTO correctly at the moment.
This patch relates to D72245 and D72246 and the discussion in