-main-file-name is currently used to set the source name used in debug information.
If the source filename is "-" and -main-file-name is set, then use the filename also for source_filename and ModuleID of the output.
The argument is generally used outside the internal clang calls when running clang in a wrapper like icecc which gives the source via stdin but still wants to get a object file with the original source filename both in debug info and IR code.