aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ModuloSchedule.cpp
diff options
context:
space:
mode:
authorLei Zhang <antiagainst@google.com>2020-05-05 16:43:00 -0400
committerLei Zhang <antiagainst@google.com>2020-05-07 09:32:03 -0400
commit16027bbc3ba3332f1bce1675ad2924c6800412ce (patch)
tree6cf242dbeb9f5a52aa9ed5b707a27f333dbe43a1 /llvm/lib/CodeGen/ModuloSchedule.cpp
parenta2634748cd82762341b87c5b00f374b71f18535a (diff)
downloadllvm-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