diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-02-28 22:38:43 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-02-28 22:38:43 +0000 |
| commit | 53cf6b84444693f3fc8c8fe300a95055449f57fe (patch) | |
| tree | ee4ed3e9633690749b241a9eebd3d95803bf34cd /llvm/lib/CodeGen | |
| parent | 5ef43cec3694d0bc1674dc6f9057ac4ba7df4cfe (diff) | |
| download | bcm5719-llvm-53cf6b84444693f3fc8c8fe300a95055449f57fe.tar.gz bcm5719-llvm-53cf6b84444693f3fc8c8fe300a95055449f57fe.zip | |
eliminate GetInt1/2
llvm-svn: 97426
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 68a53a657a5..8b25defb8c4 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -1479,20 +1479,6 @@ static bool IsChainCompatible(SDNode *Chain, SDNode *Op) { } -// These functions are marked always inline so that Idx doesn't get pinned to -// the stack. -ALWAYS_INLINE static int8_t -GetInt1(const unsigned char *MatcherTable, unsigned &Idx) { - return MatcherTable[Idx++]; -} - -ALWAYS_INLINE static int16_t -GetInt2(const unsigned char *MatcherTable, unsigned &Idx) { - int16_t Val = (uint8_t)GetInt1(MatcherTable, Idx); - Val |= int16_t(GetInt1(MatcherTable, Idx)) << 8; - return Val; -} - /// GetVBR - decode a vbr encoding whose top bit is set. ALWAYS_INLINE static uint64_t GetVBR(uint64_t Val, const unsigned char *MatcherTable, unsigned &Idx) { @@ -1502,7 +1488,7 @@ GetVBR(uint64_t Val, const unsigned char *MatcherTable, unsigned &Idx) { unsigned Shift = 7; uint64_t NextBits; do { - NextBits = GetInt1(MatcherTable, Idx); + NextBits = MatcherTable[Idx++]; Val |= (NextBits&127) << Shift; Shift += 7; } while (NextBits & 128); @@ -2035,7 +2021,8 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable, case OPC_EmitNode: case OPC_MorphNodeTo: { - uint16_t TargetOpc = GetInt2(MatcherTable, MatcherIndex); + uint16_t TargetOpc = MatcherTable[MatcherIndex++]; + TargetOpc |= (unsigned short)MatcherTable[MatcherIndex++] << 8; unsigned EmitNodeInfo = MatcherTable[MatcherIndex++]; // Get the result VT list. unsigned NumVTs = MatcherTable[MatcherIndex++]; |

