mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 00:32:23 +00:00
some trivial microoptimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97441 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bd8965a7d9
commit
7d892d6e6d
@ -4736,12 +4736,14 @@ SDNode *SelectionDAG::MorphNodeTo(SDNode *N, unsigned Opc,
|
||||
|
||||
// Delete any nodes that are still dead after adding the uses for the
|
||||
// new operands.
|
||||
SmallVector<SDNode *, 16> DeadNodes;
|
||||
for (SmallPtrSet<SDNode *, 16>::iterator I = DeadNodeSet.begin(),
|
||||
E = DeadNodeSet.end(); I != E; ++I)
|
||||
if ((*I)->use_empty())
|
||||
DeadNodes.push_back(*I);
|
||||
RemoveDeadNodes(DeadNodes);
|
||||
if (!DeadNodeSet.empty()) {
|
||||
SmallVector<SDNode *, 16> DeadNodes;
|
||||
for (SmallPtrSet<SDNode *, 16>::iterator I = DeadNodeSet.begin(),
|
||||
E = DeadNodeSet.end(); I != E; ++I)
|
||||
if ((*I)->use_empty())
|
||||
DeadNodes.push_back(*I);
|
||||
RemoveDeadNodes(DeadNodes);
|
||||
}
|
||||
|
||||
if (IP)
|
||||
CSEMap.InsertNode(N, IP); // Memoize the new node.
|
||||
|
@ -1760,7 +1760,7 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
|
||||
case OPC_SwitchOpcode: {
|
||||
unsigned CurNodeOpcode = N.getOpcode();
|
||||
|
||||
unsigned SwitchStart = MatcherIndex-1;
|
||||
unsigned SwitchStart = MatcherIndex-1; (void)SwitchStart;
|
||||
|
||||
unsigned CaseSize;
|
||||
while (1) {
|
||||
@ -2060,8 +2060,15 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
|
||||
if (EmitNodeInfo & OPFL_FlagOutput)
|
||||
VTs.push_back(MVT::Flag);
|
||||
|
||||
// FIXME: Use faster version for the common 'one VT' case?
|
||||
SDVTList VTList = CurDAG->getVTList(VTs.data(), VTs.size());
|
||||
// This is hot code, so optimize the two most common cases of 1 and 2
|
||||
// results.
|
||||
SDVTList VTList;
|
||||
if (VTs.size() == 1)
|
||||
VTList = CurDAG->getVTList(VTs[0]);
|
||||
else if (VTs.size() == 2)
|
||||
VTList = CurDAG->getVTList(VTs[0], VTs[1]);
|
||||
else
|
||||
VTList = CurDAG->getVTList(VTs.data(), VTs.size());
|
||||
|
||||
// Get the operand list.
|
||||
unsigned NumOps = MatcherTable[MatcherIndex++];
|
||||
|
Loading…
Reference in New Issue
Block a user