aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGenPrepare.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-04-26 09:28:00 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-04-26 09:28:00 +0000
commit5e2d70b9a3ac93069115a0e30749750ae1764c6c (patch)
tree5d6f4cb35724e74e852991e80dc599ce9a381dc4 /llvm/lib/CodeGen/CodeGenPrepare.cpp
parentaca48d0443ce43580876779305bef04f535d89bd (diff)
downloadllvm-5e2d70b9a3ac93069115a0e30749750ae1764c6c.zip
llvm-5e2d70b9a3ac93069115a0e30749750ae1764c6c.tar.gz
llvm-5e2d70b9a3ac93069115a0e30749750ae1764c6c.tar.bz2
[LCG] Rotate the full SCC finding algorithm to avoid round-trips through
the DFS stack for leaves in the call graph. As mentioned in my previous commit, this is particularly interesting for graphs which have high fan out but low connectivity resulting in many leaves. For such graphs, this can remove a large % of the DFS stack traffic even though it doesn't make the stack much smaller. It's a bit easier to formulate this for the full algorithm because that one stops completely for each SCC. For example, I was able to directly eliminate the "Recurse" boolean used to continue an outer loop from the inner loop. llvm-svn: 207311
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions