diff options
author | Lei Zhang <antiagainst@google.com> | 2020-05-05 16:43:00 -0400 |
---|---|---|
committer | Lei Zhang <antiagainst@google.com> | 2020-05-07 09:32:03 -0400 |
commit | 16027bbc3ba3332f1bce1675ad2924c6800412ce (patch) | |
tree | 6cf242dbeb9f5a52aa9ed5b707a27f333dbe43a1 /llvm/lib/CodeGen/ModuloSchedule.cpp | |
parent | a2634748cd82762341b87c5b00f374b71f18535a (diff) | |
download | llvm-16027bbc3ba3332f1bce1675ad2924c6800412ce.zip llvm-16027bbc3ba3332f1bce1675ad2924c6800412ce.tar.gz llvm-16027bbc3ba3332f1bce1675ad2924c6800412ce.tar.bz2 |
[mlir][spirv] Serialize all operands together if possible
SPIR-V ops can mix operands and attributes in the definition. These
operands and attributes are serialized in the exact order of the definition
to match SPIR-V binary format requirements. It can cause excessive
generated code bloat because we are emitting code to handle each
operand/attribute separately. So here we probe first to check whether all
the operands are ahead of attributes. Then we can serialize all operands
together.
This removes ~1000 lines of code from the generated inc file.
Differential Revision: https://reviews.llvm.org/D79446
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
0 files changed, 0 insertions, 0 deletions