aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2021-08-19 11:41:09 -0700
committerPhilip Reames <listmail@philipreames.com>2021-08-19 11:43:52 -0700
commit17b9cb181775e47fb986dae45e2e2a38b84e33cf (patch)
tree3596d53a6bbd485d862875ad683f15792f2e335d /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent8d7d89b0811da55c9f4bf21682b563b0ce521f97 (diff)
downloadllvm-17b9cb181775e47fb986dae45e2e2a38b84e33cf.zip
llvm-17b9cb181775e47fb986dae45e2e2a38b84e33cf.tar.gz
llvm-17b9cb181775e47fb986dae45e2e2a38b84e33cf.tar.bz2
[runtimeunroll] Support multiple exits to latch exit w/prolog loop
This patch extends the runtime unrolling infrastructure to support unrolling a loop with multiple exiting blocks branching to the same exit block used by the latch. It intentionally does not include a cost model change to enable this functionality unless appropriate force flags are used. This is the prolog companion to D107381. Since this was LGTMed, a problem with DT updating was reported against that patch. I roled in the analogous fix here as it seemed obvious, and not worth re-review. As an aside, our prolog form leaves a lot of potential value on the floor when there is an invariant load or invariant condition in the loop being runtime unrolled. We should probably consider a "required prolog" heuristic. (Alternatively, maybe we should be peeling these cases more aggressively?) Differential Revision: https://reviews.llvm.org/D108262
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions