This also requires adjustment to code in AArch64ISelLowering so that vector_extract is distributed over strict_fadd.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
Comment Actions
The performExtractVectorEltCombine transformation doesn't work correctly when D115352 is applied (it causes there to be an extra add instruction) which I need to look into.
Comment Actions
Morph the strict_fadd instead of creating a new one, so that we don't end up with two strict_fadd nodes (as both would be kept when exceptions are enabled).
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
14372 | I don't think you can use MorphNodeTo here. It has a comment about it in the description of the function. Can it just use one of the ReplaceAllUsesWith/ReplaceAllUsesOfValueWith/CombineTo/etc methods? As far as I understand it needs to replace the old Chain (from N0) with the new one. |
I don't think you can use MorphNodeTo here. It has a comment about it in the description of the function.
Can it just use one of the ReplaceAllUsesWith/ReplaceAllUsesOfValueWith/CombineTo/etc methods? As far as I understand it needs to replace the old Chain (from N0) with the new one.