[NFC][COFF] Split WinCOFFObjectWriter to WinCOFFWriter
authorHaohai Wen <haohai.wen@intel.com>
Fri, 9 Jun 2023 01:36:25 +0000 (09:36 +0800)
committerHaohai Wen <haohai.wen@intel.com>
Fri, 9 Jun 2023 02:03:49 +0000 (10:03 +0800)
commit56f3da5917ed99c840dd25ad61c1ffce3b2123eb
tree30948d19e5abb418072366d9604cfd80ecdf3207
parentc778ca201efecc9e79d3b33224e00b247ac2daf1
[NFC][COFF] Split WinCOFFObjectWriter to WinCOFFWriter

We'd like to support -gsplit-dwarf for Windows COFF. It requires to
write Dwo and NonDwo sections to different output streams.The original
implementation is not designed to do that and there can be only one
MCObjectWriter. This patch split WinCOFFObjectWriter to WinCOFFWriter so
that:
  1. WinCOFFObjectWriter can create multiple WinCOFFWriter.
  2. Each WinCOFFWriter can separately collect sections it is interested.
  3. Each WinCOFFWriter can write to it's own output stream.

Reviewed By: skan

Differential Revision: https://reviews.llvm.org/D152340
llvm/lib/MC/WinCOFFObjectWriter.cpp