DescriptionSubzero. Rematerializes shufflevector instructions.
This CL is a first step towards optimizing vector shuffles in
Subzero.
PNaCl bitcode does not support the shufflevector instruction,
so pnacl-clang emits a series of extractelement/insertelement.
pnacl-llc is then responsible for performing a pattern match
on the output bitcode and rematerialize the shufflevector.
With this CL, we enable shufflevector rematerialization in
Subzero. To keep this CL simple, we introduce no efficient
shufflevector lowering. Instead, we scalarize the
rematerialized instructions.
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4136
R=stichnot@chromium.org
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=a47c11c7f17022050043d69c0802241e0747a056
Patch Set 1 : Implements the pattern matching #Patch Set 2 : Adds the ShuffleVector high level inst #Patch Set 3 : Creates and inserts shufflevector when the right pattern is matched. #Patch Set 4 : Scalar shufflevector lowering #Patch Set 5 : Adds some comments to the pattern matching implementation. #
Total comments: 26
Patch Set 6 : Addresses comments. #
Total comments: 6
Patch Set 7 : Addresses comments. #
Messages
Total messages: 11 (3 generated)
|