summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/MCAsmParser.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2017-08-09 09:37:39 +0000
committerChandler Carruth <chandlerc@gmail.com>2017-08-09 09:37:39 +0000
commit2cd28b2ba0b4c3d6fb667113e11bc0ff8968ab26 (patch)
treedb764e85f926ba17e69064cd5d8c684150447585 /llvm/lib/MC/MCParser/MCAsmParser.cpp
parent8756b3fbecfb54741298cb61dc68c849f5871692 (diff)
downloadbcm5719-llvm-2cd28b2ba0b4c3d6fb667113e11bc0ff8968ab26.tar.gz
bcm5719-llvm-2cd28b2ba0b4c3d6fb667113e11bc0ff8968ab26.zip
[LCG] Completely remove the map-based association of post-order numbers
to Nodes when removing ref edges from a RefSCC. This map based association turns out to be pretty expensive for large RefSCCs and pointless as we already have embedded data members inside nodes that we use to track the DFS state. We can reuse one of those and the map becomes unnecessary. This also fuses the update of those numbers into the scan across the pending stack of nodes so that we don't walk the nodes twice during the DFS. With this I expect the new PM to be faster than the old PM for the test case I have been optimizing. That said, it also seems simpler and more direct in many ways. The side storage was always pretty awkward. The last remaining hot-spot in the profile of the LCG once this is done will be the edge iterator walk in the DFS. I'll take a look at improving that next. llvm-svn: 310456
Diffstat (limited to 'llvm/lib/MC/MCParser/MCAsmParser.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud