"llvm/lib/Target/AMDGPU/R600InstrInfo.h" did not exist on "a4da6fb53577d16b61fab965284dbf4cb5a31ff2"
[RISCV] Avoid infinite loop between DAGCombiner::visitMUL and...
[RISCV] Avoid infinite loop between DAGCombiner::visitMUL and RISCVISelLowering::transformAddImmMulImm See https://github.com/llvm/llvm-project/issues/53831 for a full discussion. The basic issue is that DAGCombiner::visitMUL and RISCVISelLowering;:transformAddImmMullImm get stuck in a loop, as the current checks in transformAddImmMulImm aren't sufficient to avoid all cases where DAGCombiner::isMulAddWithConstProfitable might trigger a transformation. This patch makes transformAddImmMulImm bail out if C0 (the constant used for multiplication) has more than one use. Differential Revision: https://reviews.llvm.org/D120332
Loading
Please sign in to comment