mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
add an optimized form of OPC_EmitMergeInputChains for the 1, 0 and
1, 1 cases which are by-far the most frequent. This shrinks the X86 isel table from 77014 -> 74657 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99740 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -449,6 +449,13 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
|
||||
case Matcher::EmitMergeInputChains: {
|
||||
const EmitMergeInputChainsMatcher *MN =
|
||||
cast<EmitMergeInputChainsMatcher>(N);
|
||||
|
||||
// Handle the specialized forms OPC_EmitMergeInputChains1_0 and 1_1.
|
||||
if (MN->getNumNodes() == 1 && MN->getNode(0) < 2) {
|
||||
OS << "OPC_EmitMergeInputChains1_" << MN->getNode(0) << ",\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
OS << "OPC_EmitMergeInputChains, " << MN->getNumNodes() << ", ";
|
||||
for (unsigned i = 0, e = MN->getNumNodes(); i != e; ++i)
|
||||
OS << MN->getNode(i) << ", ";
|
||||
|
Reference in New Issue
Block a user