PPC: Don't restrict lvsl generation to after type legalization
authorHal Finkel <hfinkel@anl.gov>
Sun, 15 Sep 2013 15:20:54 +0000 (15:20 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sun, 15 Sep 2013 15:20:54 +0000 (15:20 +0000)
commit55532adc687a87574fd79822c876b10db95cd9ee
tree05d860052acb5d5ccfdf7d9a2e49ed82d7a12458
parent77364b7a200682e84f75171f30f8a77005b87e94
PPC: Don't restrict lvsl generation to after type legalization

The PPC backend uses a target-specific DAG combine to turn unaligned Altivec
loads into a permutation-based sequence when possible. Unfortunately, the
target-specific DAG combine is not always called on all loads of interest
(sometimes the routines in DAGCombine call CombineTo such that the new node and
users are not added to the worklist); allowing the combine to trigger early
(before type legalization) mitigates this problem. Because the autovectorizers
only create legal vector types, I don't expect a lot of cases where this
optimization is enabled by type legalization in practice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190764 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCISelLowering.cpp
test/CodeGen/PowerPC/unal-altivec2.ll [new file with mode: 0644]