[PATCH] D45379: [LoopInterchange] Ignore debug intrinsics during legality checks.

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 9 11:43:04 PDT 2018


vsk added inline comments.


================
Comment at: lib/Transforms/Scalar/LoopInterchange.cpp:82
+template <typename T>
+static auto skipDebugIntrinsics(iterator_range<T> Iter)
+    -> decltype(make_filter_range(Iter, isDebugIntrinsic)) {
----------------
fhahn wrote:
> vsk wrote:
> > aprantl wrote:
> > > This adapter should really be available in BasicBlock.h or somewhere more accessible if it doesn't exist already. Could you move it there (or elsewhere appropriate) and add a doxygen comment?
> > + 1, I think having `iterator_range<iterator> instructions()` and `... instructions_nodbg()` in BasicBlock would be nice.
> Ok great, I will move it there. Do you think we should just have a member function `instructionsNodbg()` or a function taking an instruction iterator and returning a filtered iterator? It's just a question how we want to compose it with things like reverse
I think we should have both. We'd need 'skipDebugIntrinsics' to implement 'instructionsNodbg', and 'instructionsNodbg' would make it easier to write correct code going forwards.

Wdyt of placing 'skipDebugIntrinsics' in IR/DebugInfo.h?


https://reviews.llvm.org/D45379





More information about the llvm-commits mailing list