aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ModuloSchedule.cpp
diff options
context:
space:
mode:
authorJan-Willem Maessen <jmaessen@fb.com>2020-06-08 18:38:16 +0100
committerJeremy Morse <jeremy.morse@sony.com>2020-06-08 18:40:56 +0100
commit3610d31e7a366da27901313e03089736ec65c91d (patch)
treee20e2bfcb80fcf6def416253886f442f731147a8 /llvm/lib/CodeGen/ModuloSchedule.cpp
parentcaa2fddce72f2e8ca3d6346cc2c8fe85252b91d8 (diff)
downloadllvm-3610d31e7a366da27901313e03089736ec65c91d.zip
llvm-3610d31e7a366da27901313e03089736ec65c91d.tar.gz
llvm-3610d31e7a366da27901313e03089736ec65c91d.tar.bz2
[NFC] Fix quadratic LexicalScopes::constructScopeNest
We sometimes have functions with large numbers of sibling basic blocks (usually with an error path exit from each one). This was triggering the qudratic behavior in this function - after visiting each child llvm would re-scan the parent from the beginning again. We modify the work stack to record the next index to be worked on alongside the pointer. This avoids the need to linearly search for the next unfinished child. Differential Revision: https://reviews.llvm.org/D80029
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
0 files changed, 0 insertions, 0 deletions