[PATCH] D64101: [LoopUnroll] fix cloning callbr
Hal Finkel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 3 17:45:32 PDT 2019
hfinkel added a comment.
In D64101#1569642 <https://reviews.llvm.org/D64101#1569642>, @efriedma wrote:
> Or actually, it might make more sense to change the way we generate/lower callbr, to make the label parameters implicit; instead of modeling them with blockaddress, we never write them in IR at all, and automatically generate them later based on the successor list.
That's an appealing idea.
We do need to be careful, AFAIK, because the goto targets can be passed into the asm as parameters (where the block addresses come from the labels-as-values extension). However, in theory we already shouldn't unroll loops with blocks with their address taken, so I imagine that case is irrelevant here (*).
(*) LoopUnroll.cpp actually only seems to check Header->hasAddressTaken(), not all of the blocks, so maybe that's wrong?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64101/new/
https://reviews.llvm.org/D64101
More information about the llvm-commits
mailing list