[llvm-dev] Node deletion during DAG Combination ?
Tim Northover via llvm-dev
llvm-dev at lists.llvm.org
Wed Jun 20 07:16:56 PDT 2018
On Wed, 20 Jun 2018 at 15:09, Dominique Torette
<Dominique.Torette at spacebel.be> wrote:
> Steps 1 and 2 have been implemented. t72 has now Chain output.
Excellent. That looks right to me.
> SelectionDAG::ReplaceAllUsesWith() was the API I was looking for…
> But I have a problem with the 3 implementations of the SelectionDAG::ReplaceAllUsesWith().
> They checks somehow the congruency of the returned values types….
> t58 returns first a v2f32 while t72 return first a f32 ! This raises assertion.
Oh dear, I'm very sorry; I should have checked the documentation more
thoroughly. It looks like the function is actually
ReplaceAllUsesOfValueWith. For some reason even the versions of
ReplaceAllUsesWith that take SDValues try to handle the whole SDNode.
More information about the llvm-dev