[all-commits] [llvm/llvm-project] dd0973: [TableGen] Split GlobalISelCombinerEmitter into mu...
Pierre van Houtryve via All-commits
all-commits at lists.llvm.org
Tue Nov 28 02:48:38 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: dd0973be58b8a8d94d63762941f741f2b93aec28
https://github.com/llvm/llvm-project/commit/dd0973be58b8a8d94d63762941f741f2b93aec28
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
A llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
A llvm/utils/TableGen/GlobalISel/CXXPredicates.h
M llvm/utils/TableGen/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
A llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
A llvm/utils/TableGen/GlobalISel/Patterns.cpp
A llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Split GlobalISelCombinerEmitter into multiple files (#73325)
Split MatchDataInfo, CXXPredicates and the Pattern hierarchy into their
own files.
This should help with maintenance a bit, and make the API easier to
navigate.
I hope this encourages a bit more experimentation with MIR patterns,
e.g. I'd like to try getting them in ISel at some point.
Currently, this is pretty much only moving code around. There is no
significant refactoring in there.
I want to split the Combiner backend even more at some point though,
e.g. by separating the TableGen parsing logic into yet another file so
other backends could very easily parse patterns themselves.
Note: I moved the responsibility of managing string lifetimes into the
backend instead of the Pattern class.
e.g. Before you'd do `P.addOperand(Name)` but now it's
`P.addOperand(insertStrRef(Name))`.
I verified this was done correctly by running the tests with UBSan/ASan.
More information about the All-commits
mailing list