[PATCH] [PPC64LE] Remove unnecessary swaps from lane-insensitive vector computations
Bill Schmidt
wschmidt at linux.vnet.ibm.com
Mon Mar 30 14:08:35 PDT 2015
In http://reviews.llvm.org/D8565#149183, @chandlerc wrote:
> I'd like to understand why you opted for doing this in MI instead of at the IR level? In particular, it seems odd to have the loop vectorizer and other tools build vectorized code in the "wrong" way and then fix it if we can later.
The extra swap instructions are not introduced until instruction selection, so the IR level is already correct. The instruction selector is too myopic to view entire computation webs, so we have to be conservative and generate code that uses true-LE register representations, then clean up at a later time when we can see the big picture. (So both the disease and the cure are introduced in the back end.)
REPOSITORY
rL LLVM
http://reviews.llvm.org/D8565
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list