[llvm] [TableGen] Support emitting preprocessed output (PR #120113)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 2 06:15:05 PST 2026
================
@@ -153,51 +206,60 @@ int llvm::TableGenMain(const char *argv0, MultiFileTableGenMainFn MainFn) {
SrcMgr.setIncludeDirs(IncludeDirs);
SrcMgr.setVirtualFileSystem(vfs::getRealFileSystem());
- TGParser Parser(SrcMgr, MacroNames, Records, NoWarnOnUnusedTemplateArgs);
+ if (Preprocess) {
+ std::string OutString;
+ raw_string_ostream Out(OutString);
+ if (preprocessInput(Out))
+ return 1;
+ if (int Ret = WriteOutput(argv0, OutputFilename, OutString))
+ return Ret;
+ } else {
+ TGParser Parser(SrcMgr, MacroNames, Records, NoWarnOnUnusedTemplateArgs);
----------------
jayfoad wrote:
OK, done -- I made a helper function that handles the `Preprocess` case with an early return.
https://github.com/llvm/llvm-project/pull/120113
More information about the llvm-commits
mailing list