[PATCH] D118076: Sinking or hoisting instructions between loops before fusion

Joshua Cranmer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 30 14:10:01 PDT 2022


jcranmer-intel added a comment.

I'd still like to see two more tests:

- One test that checks that an intrinsically unmovable instruction (e.g., call to an unknown function) in the preheader blocks hoisting/sinking.
- Another test (in the same file as above is possible) checks that a memory dependency blocks hoisting/sinking.

Other than that, and the nit I'm seeing, looking good.



================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:1074
+      for (Use &Op : I.operands()) {
+        if (auto *OpInst{dyn_cast<Instruction>(Op)}) {
+          bool OpHoisted = is_contained(SafeToHoist, OpInst);
----------------
I'd still like to see this and the later if statement not using C++11 universal initialization.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118076/new/

https://reviews.llvm.org/D118076



More information about the llvm-commits mailing list