[llvm] [AArch64] canCreateUndefOrPoisonForTargetNode - AArch64ISD::VASHR can't create undef/poison (PR #156445)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 3 01:53:27 PDT 2025


RKSimon wrote:

> I was going to say this looks OK (and there are VLSHR/VSHL which are similar too). The second parameter will always be a constant within range.

OK - should I assert an inrange ConstantSDNode value or just assume it? I can add VLSHR/VSHL as well but don't currently have test coverage for them - I'll see if we can add it to AArch64SelectionDAGTest.cpp

> VASHR can have exact flags that we copy from shifts and use to perform certain optimizations though. Does that alter things for this opcode?

I'll see if I can add test coverage for this - some of the freeze folds will strip poison flags like Exact when they push the freeze through the node - could that be whats causing the regression?

https://github.com/llvm/llvm-project/pull/156445


More information about the llvm-commits mailing list