llvm /
llvm /
c5f4a842fffd0877598f77c7e6db4ce8c7d717a7 [DAGCombiner] allow hoisting vector bitwise logic ahead of truncates
The transform performs a bitwise logic op in a wider type followed by
truncate when both inputs are truncated from the same source type:
logic_op (truncate x), (truncate y) --> truncate (logic_op x, y)
There are a bunch of other checks that should prevent doing this when
it might be harmful.
We already do this transform for scalars in this spot. The vector
limitation was shared with a check for the case when the operands are
extended. I'm not sure if that limit is needed either, but that would
be a separate patch.
Differential Revision: https://reviews.llvm.org/D55448
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349303 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed