AArch64 GIsel: legalize lshr operands, even if it is poison
Previously, this caused GlobalISel to emit invalid IR (a gpr32 to gpr64 copy) and fail during verification. While this shift is not defined (returns poison), it should not crash codegen, as it may appear inside dead code (for example, a select instruction), and it is legal IR input, as long as the value is unused. Discovered while trying to build Julia with LLVM v13: https://github.com/JuliaLang/julia/pull/42602. Reviewed By: aemerson Differential Revision: https://reviews.llvm.org/D114389
Loading
Please sign in to comment