summaryrefslogtreecommitdiff
path: root/llvm/lib/TableGen/Parser.cpp
AgeCommit message (Collapse)Author
2024-09-19[LLVM] Use {} instead of std::nullopt to initialize empty ArrayRef (#109133)Jay Foad
It is almost always simpler to use {} instead of std::nullopt to initialize an empty ArrayRef. This patch changes all occurrences I could find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor could be deprecated or removed.
2022-12-02[llvm] Use std::nullopt instead of None (NFC)Kazu Hirata
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-09-28[TableGen] Only track reference locations if askedRiver Riddle
Normal compilation doesn't care about tracking references, and shouldn't pay the compilation time cost.
2022-05-11[TableGen] Refactor TableGenParseFile to no longer use a callbackRiver Riddle
Now that TableGen no longer relies on global Record state, we can allow for the client to own the RecordKeeper and SourceMgr. Given that TableGen internally still relies on the global llvm::SrcMgr, this method unfortunately still isn't thread-safe. Differential Revision: https://reviews.llvm.org/D125277
2022-05-11[TableGen] Remove the use of global Record stateRiver Riddle
This commits removes TableGens reliance on managed static global record state by moving the RecordContext into the RecordKeeper. The RecordKeeper is now treated similarly to a (LLVM|MLIR|etc)Context object and is passed to static construction functions. This is an important step forward in removing TableGens reliance on global state, and in a followup will allow for users that parse tablegen to parse multiple tablegen files without worrying about Record lifetime. Differential Revision: https://reviews.llvm.org/D125276
2022-03-04Fix for D119899David Blaikie
2022-03-03[TableGen] Add a library-based entry point for parsing td filesRiver Riddle
This commit adds a new `TableGenParseFile` entry point for tablegen that parses an input buffer and invokes a callback function with a record keeper (notably without an output buffer). This kind of entry point is very useful for tablegen consuming tools that don't create output, and want invoke tablegen multiple times. The current way that we interact with tablegen is via relative includes to TGParser(not great). Differential Revision: https://reviews.llvm.org/D119899