mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
[PM/AA] Switch to an early-exit. NFC. This was split out of another
change because the diff is *useless*. I assure you, I just switched to early-return in this function. Cleanup in preparation for my next commit, as requested in code review! llvm-svn: 242880
This commit is contained in:
parent
939d6a13a3
commit
4237391aee
@ -2809,52 +2809,51 @@ namespace {
|
||||
if (isa<StoreInst>(I)) {
|
||||
AA->replaceWithNewValue(I, K);
|
||||
AA->replaceWithNewValue(J, K);
|
||||
} else {
|
||||
Type *IType = I->getType();
|
||||
Type *JType = J->getType();
|
||||
|
||||
VectorType *VType = getVecTypeForPair(IType, JType);
|
||||
unsigned numElem = VType->getNumElements();
|
||||
|
||||
unsigned numElemI = getNumScalarElements(IType);
|
||||
unsigned numElemJ = getNumScalarElements(JType);
|
||||
|
||||
if (IType->isVectorTy()) {
|
||||
std::vector<Constant*> Mask1(numElemI), Mask2(numElemI);
|
||||
for (unsigned v = 0; v < numElemI; ++v) {
|
||||
Mask1[v] = ConstantInt::get(Type::getInt32Ty(Context), v);
|
||||
Mask2[v] = ConstantInt::get(Type::getInt32Ty(Context), numElemJ+v);
|
||||
}
|
||||
|
||||
K1 = new ShuffleVectorInst(K, UndefValue::get(VType),
|
||||
ConstantVector::get( Mask1),
|
||||
getReplacementName(K, false, 1));
|
||||
} else {
|
||||
Value *CV0 = ConstantInt::get(Type::getInt32Ty(Context), 0);
|
||||
K1 = ExtractElementInst::Create(K, CV0,
|
||||
getReplacementName(K, false, 1));
|
||||
}
|
||||
|
||||
if (JType->isVectorTy()) {
|
||||
std::vector<Constant*> Mask1(numElemJ), Mask2(numElemJ);
|
||||
for (unsigned v = 0; v < numElemJ; ++v) {
|
||||
Mask1[v] = ConstantInt::get(Type::getInt32Ty(Context), v);
|
||||
Mask2[v] = ConstantInt::get(Type::getInt32Ty(Context), numElemI+v);
|
||||
}
|
||||
|
||||
K2 = new ShuffleVectorInst(K, UndefValue::get(VType),
|
||||
ConstantVector::get( Mask2),
|
||||
getReplacementName(K, false, 2));
|
||||
} else {
|
||||
Value *CV1 = ConstantInt::get(Type::getInt32Ty(Context), numElem-1);
|
||||
K2 = ExtractElementInst::Create(K, CV1,
|
||||
getReplacementName(K, false, 2));
|
||||
}
|
||||
|
||||
K1->insertAfter(K);
|
||||
K2->insertAfter(K1);
|
||||
InsertionPt = K2;
|
||||
return;
|
||||
}
|
||||
|
||||
Type *IType = I->getType();
|
||||
Type *JType = J->getType();
|
||||
|
||||
VectorType *VType = getVecTypeForPair(IType, JType);
|
||||
unsigned numElem = VType->getNumElements();
|
||||
|
||||
unsigned numElemI = getNumScalarElements(IType);
|
||||
unsigned numElemJ = getNumScalarElements(JType);
|
||||
|
||||
if (IType->isVectorTy()) {
|
||||
std::vector<Constant *> Mask1(numElemI), Mask2(numElemI);
|
||||
for (unsigned v = 0; v < numElemI; ++v) {
|
||||
Mask1[v] = ConstantInt::get(Type::getInt32Ty(Context), v);
|
||||
Mask2[v] = ConstantInt::get(Type::getInt32Ty(Context), numElemJ + v);
|
||||
}
|
||||
|
||||
K1 = new ShuffleVectorInst(K, UndefValue::get(VType),
|
||||
ConstantVector::get(Mask1),
|
||||
getReplacementName(K, false, 1));
|
||||
} else {
|
||||
Value *CV0 = ConstantInt::get(Type::getInt32Ty(Context), 0);
|
||||
K1 = ExtractElementInst::Create(K, CV0, getReplacementName(K, false, 1));
|
||||
}
|
||||
|
||||
if (JType->isVectorTy()) {
|
||||
std::vector<Constant *> Mask1(numElemJ), Mask2(numElemJ);
|
||||
for (unsigned v = 0; v < numElemJ; ++v) {
|
||||
Mask1[v] = ConstantInt::get(Type::getInt32Ty(Context), v);
|
||||
Mask2[v] = ConstantInt::get(Type::getInt32Ty(Context), numElemI + v);
|
||||
}
|
||||
|
||||
K2 = new ShuffleVectorInst(K, UndefValue::get(VType),
|
||||
ConstantVector::get(Mask2),
|
||||
getReplacementName(K, false, 2));
|
||||
} else {
|
||||
Value *CV1 = ConstantInt::get(Type::getInt32Ty(Context), numElem - 1);
|
||||
K2 = ExtractElementInst::Create(K, CV1, getReplacementName(K, false, 2));
|
||||
}
|
||||
|
||||
K1->insertAfter(K);
|
||||
K2->insertAfter(K1);
|
||||
InsertionPt = K2;
|
||||
}
|
||||
|
||||
// Move all uses of the function I (including pairing-induced uses) after J.
|
||||
|
Loading…
Reference in New Issue
Block a user