[PATCH] D76992: [VPlan] Add & use VPValue operands for VPWidenRecipe (NFC).
Mehdi AMINI via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 23 22:14:29 PDT 2020
mehdi_amini added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4291
+ Value *A = State.get(User.getOperand(0), Part);
+ Value *B = State.get(User.getOperand(1), Part);
Value *C = nullptr;
----------------
FYI XLA generated IR triggers a crash here.
I have the IR right before the pass (I can share it, this is the public XLA test-suite) but I can't reproduce with `opt -loop-vectorize` (I suspect some TTI/TLI settings are affecting this).
I don't really understand this code so I couldn't debug it right now but in gdb:
```
(gdb) call User.getUnderlyingValue()
$13 = (llvm::Value *) 0x0
(gdb) call User.getOperand(0)->getUnderlyingValue()->dump()
%reduce-window.10.clone.invar_address.dim.3.016 = phi i64 [ %bc.resume.val, %scalar.ph ], [ %invar.inc3, %reduce-window.10.clone.inner.loop_exit.window.0 ]
(gdb) call User.getOperand(1)->getUnderlyingValue()->dump()
i64 13
(gdb) p Part
$14 = 0
```
I'll likely revert while we're trying to extract a minimum reproducer. Let me know if you have any advice for this?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76992/new/
https://reviews.llvm.org/D76992
More information about the llvm-commits
mailing list