1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00

SLPVectorizer: Swap LHS and RHS. No functionality change.

llvm-svn: 181684
This commit is contained in:
Nadav Rotem 2013-05-13 05:13:13 +00:00
parent 4a62b32731
commit a6e8db3ab5

View File

@ -730,15 +730,15 @@ Value *BoUpSLP::vectorizeTree_rec(ArrayRef<Value *> VL, int VF) {
case Instruction::Xor: {
ValueList LHSVL, RHSVL;
for (int i = 0; i < VF; ++i) {
RHSVL.push_back(cast<Instruction>(VL[i])->getOperand(0));
LHSVL.push_back(cast<Instruction>(VL[i])->getOperand(1));
LHSVL.push_back(cast<Instruction>(VL[i])->getOperand(0));
RHSVL.push_back(cast<Instruction>(VL[i])->getOperand(1));
}
Value *RHS = vectorizeTree_rec(RHSVL, VF);
Value *LHS = vectorizeTree_rec(LHSVL, VF);
Value *RHS = vectorizeTree_rec(RHSVL, VF);
IRBuilder<> Builder(GetLastInstr(VL, VF));
BinaryOperator *BinOp = cast<BinaryOperator>(VL0);
Value *V = Builder.CreateBinOp(BinOp->getOpcode(), RHS,LHS);
Value *V = Builder.CreateBinOp(BinOp->getOpcode(), LHS,RHS);
for (int i = 0; i < VF; ++i)
VectorizedValues[VL[i]] = V;