[PATCH] D64101: [LoopUnroll] fix cloning callbr

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 8 14:34:29 PDT 2019


fhahn requested changes to this revision.
fhahn added reviewers: hfinkel, efriedma.
fhahn added a comment.
This revision now requires changes to proceed.

Marking as requiring changes while the comments are being addressed.

> That said, I'd really like to land this patch as it addresses an observable and bad bug in the Linux kernel, and I'd like to do so to make the clang-9 release train, rather than try to rearchitect callbr here.

IIUC the patch as is fixes an issue with unrolling `asm goto`, in cases unrolling is legal. But we need additional checks to prevent unrolling in the cases Eli mentioned. Maybe a safer approach would be to start with a patch to restrict the unrolling of loops with `asm goto` (that should also fix the bug in the linux kernel, right?) and then allow unrolling for the safe subset of cases where it is legal.

> Sorry, that test case would rely on https://reviews.llvm.org/D64167 first. ;)

It's fine to have this patch depend on D64167 <https://reviews.llvm.org/D64167>


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