[PATCH] D33435: [SelectionDAG] reset NewNodesMustHaveLegalTypes flag between basic blocks

Akira Hatanaka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 1 22:43:48 PDT 2017


ahatanak added a comment.

I think what this patch is doing is correct, but it seems to me that the generated code got worse.

It looks like AArch64TargetLowering::LowerBUILD_VECTOR  turns vector (0,0,-1,0,0,0,0,0) into a constant pool load instead of using immediate moves because the vector type is v8i16, not v8i8. This probably didn't happen previously because NewNodesMustHaveLegalTypes was true during legalization of the second function.

I don't know the right way to fix it (maybe you can ask @t.p.northover?).


https://reviews.llvm.org/D33435





More information about the llvm-commits mailing list