Issue |
143140
|
Summary |
[X86] lowerBuildVectorAsBroadcast - remove constant handling
|
Labels |
backend:X86
|
Assignees |
|
Reporter |
RKSimon
|
Prematurely converting uniform constants to constant pool VBROADCAST_LOAD nodes can prevent further optimizations, but also results in codegen problems such as immediately spilling broadcasted constants (#30679).
X86FixupVectorConstants can handle converting constant loads to broadcasts and other datasize saving formats, including if they are load-folded into a AVX512 instruction.
But without lowerBuildVectorAsBroadcast we are missing OptSize handling - we need some way to unfold constant pool loads that X86FixupVectorConstants would be able to handle if it would reduce total data/code size - this could possibly be performed by MachineLICM which already does similar unfolds.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs