[RewriteStatepointsForGC] Reduce indentation via early continue [NFC]
llvm-svn: 230829
This commit is contained in:
parent
7863d7634e
commit
f986d68b36
|
@ -782,41 +782,42 @@ static Value *findBasePointer(Value *I, DefiningValueMapTy &cache,
|
||||||
PhiState state = Pair.second;
|
PhiState state = Pair.second;
|
||||||
assert(!isKnownBaseResult(v) && "why did it get added?");
|
assert(!isKnownBaseResult(v) && "why did it get added?");
|
||||||
assert(!state.isUnknown() && "Optimistic algorithm didn't complete!");
|
assert(!state.isUnknown() && "Optimistic algorithm didn't complete!");
|
||||||
if (state.isConflict()) {
|
if (!state.isConflict())
|
||||||
if (isa<PHINode>(v)) {
|
continue;
|
||||||
int num_preds =
|
|
||||||
std::distance(pred_begin(v->getParent()), pred_end(v->getParent()));
|
if (isa<PHINode>(v)) {
|
||||||
assert(num_preds > 0 && "how did we reach here");
|
int num_preds =
|
||||||
PHINode *phi = PHINode::Create(v->getType(), num_preds, "base_phi", v);
|
std::distance(pred_begin(v->getParent()), pred_end(v->getParent()));
|
||||||
NewInsertedDefs.insert(phi);
|
assert(num_preds > 0 && "how did we reach here");
|
||||||
// Add metadata marking this as a base value
|
PHINode *phi = PHINode::Create(v->getType(), num_preds, "base_phi", v);
|
||||||
auto *const_1 = ConstantInt::get(
|
NewInsertedDefs.insert(phi);
|
||||||
Type::getInt32Ty(
|
// Add metadata marking this as a base value
|
||||||
v->getParent()->getParent()->getParent()->getContext()),
|
auto *const_1 = ConstantInt::get(
|
||||||
1);
|
Type::getInt32Ty(
|
||||||
auto MDConst = ConstantAsMetadata::get(const_1);
|
v->getParent()->getParent()->getParent()->getContext()),
|
||||||
MDNode *md = MDNode::get(
|
1);
|
||||||
v->getParent()->getParent()->getParent()->getContext(), MDConst);
|
auto MDConst = ConstantAsMetadata::get(const_1);
|
||||||
phi->setMetadata("is_base_value", md);
|
MDNode *md = MDNode::get(
|
||||||
states[v] = PhiState(PhiState::Conflict, phi);
|
v->getParent()->getParent()->getParent()->getContext(), MDConst);
|
||||||
} else if (SelectInst *sel = dyn_cast<SelectInst>(v)) {
|
phi->setMetadata("is_base_value", md);
|
||||||
// The undef will be replaced later
|
states[v] = PhiState(PhiState::Conflict, phi);
|
||||||
UndefValue *undef = UndefValue::get(sel->getType());
|
} else {
|
||||||
SelectInst *basesel = SelectInst::Create(sel->getCondition(), undef,
|
SelectInst *sel = cast<SelectInst>(v);
|
||||||
undef, "base_select", sel);
|
// The undef will be replaced later
|
||||||
NewInsertedDefs.insert(basesel);
|
UndefValue *undef = UndefValue::get(sel->getType());
|
||||||
// Add metadata marking this as a base value
|
SelectInst *basesel = SelectInst::Create(sel->getCondition(), undef,
|
||||||
auto *const_1 = ConstantInt::get(
|
undef, "base_select", sel);
|
||||||
Type::getInt32Ty(
|
NewInsertedDefs.insert(basesel);
|
||||||
v->getParent()->getParent()->getParent()->getContext()),
|
// Add metadata marking this as a base value
|
||||||
1);
|
auto *const_1 = ConstantInt::get(
|
||||||
auto MDConst = ConstantAsMetadata::get(const_1);
|
Type::getInt32Ty(
|
||||||
MDNode *md = MDNode::get(
|
v->getParent()->getParent()->getParent()->getContext()),
|
||||||
v->getParent()->getParent()->getParent()->getContext(), MDConst);
|
1);
|
||||||
basesel->setMetadata("is_base_value", md);
|
auto MDConst = ConstantAsMetadata::get(const_1);
|
||||||
states[v] = PhiState(PhiState::Conflict, basesel);
|
MDNode *md = MDNode::get(
|
||||||
} else
|
v->getParent()->getParent()->getParent()->getContext(), MDConst);
|
||||||
llvm_unreachable("unknown conflict type");
|
basesel->setMetadata("is_base_value", md);
|
||||||
|
states[v] = PhiState(PhiState::Conflict, basesel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue