Skip to content

Commit

Permalink
[CFLGraph][NFC] Simplify/reorder switch in visitConstantExpr
Browse files Browse the repository at this point in the history
Reviewers: hfinkel, efriedma, spatel, dsanders, Danil, rjmccall

Reviewed By: rjmccall

Subscribers: dberlin, llvm-commits

Differential Revision: https://reviews.llvm.org/D46259

llvm-svn: 331312
  • Loading branch information
davidbolvansky committed May 1, 2018
1 parent d2025a2 commit 8d69360
Showing 1 changed file with 17 additions and 37 deletions.
54 changes: 17 additions & 37 deletions llvm/lib/Analysis/CFLGraph.h
Expand Up @@ -515,14 +515,16 @@ template <typename CFLAA> class CFLGraphBuilder {
visitGEP(*GEPOp);
break;
}

case Instruction::PtrToInt: {
auto *Ptr = CE->getOperand(0);
addNode(Ptr, getAttrEscaped());
addNode(CE->getOperand(0), getAttrEscaped());
break;
}
case Instruction::IntToPtr:

case Instruction::IntToPtr: {
addNode(CE, getAttrUnknown());
break;
}

case Instruction::BitCast:
case Instruction::AddrSpaceCast:
Expand All @@ -535,48 +537,23 @@ template <typename CFLAA> class CFLGraphBuilder {
case Instruction::SIToFP:
case Instruction::FPToUI:
case Instruction::FPToSI: {
auto *Src = CE->getOperand(0);
addAssignEdge(Src, CE);
break;
}
case Instruction::Select: {
auto *TrueVal = CE->getOperand(0);
auto *FalseVal = CE->getOperand(1);
addAssignEdge(TrueVal, CE);
addAssignEdge(FalseVal, CE);
break;
}
case Instruction::InsertElement: {
auto *Vec = CE->getOperand(0);
auto *Val = CE->getOperand(1);
addAssignEdge(Vec, CE);
addStoreEdge(Val, CE);
break;
}
case Instruction::ExtractElement: {
auto *Ptr = CE->getOperand(0);
addLoadEdge(Ptr, CE);
addAssignEdge(CE->getOperand(0), CE);
break;
}

case Instruction::InsertElement:
case Instruction::InsertValue: {
auto *Agg = CE->getOperand(0);
auto *Val = CE->getOperand(1);
addAssignEdge(Agg, CE);
addStoreEdge(Val, CE);
addAssignEdge(CE->getOperand(0), CE);
addStoreEdge(CE->getOperand(1), CE);
break;
}

case Instruction::ExtractElement:
case Instruction::ExtractValue: {
auto *Ptr = CE->getOperand(0);
addLoadEdge(Ptr, CE);
break;
}
case Instruction::ShuffleVector: {
auto *From1 = CE->getOperand(0);
auto *From2 = CE->getOperand(1);
addAssignEdge(From1, CE);
addAssignEdge(From2, CE);
addLoadEdge(CE->getOperand(0), CE);
break;
}

case Instruction::Add:
case Instruction::Sub:
case Instruction::FSub:
Expand All @@ -596,9 +573,12 @@ template <typename CFLAA> class CFLGraphBuilder {
case Instruction::AShr:
case Instruction::ICmp:
case Instruction::FCmp:
case Instruction::Select:
case Instruction::ShuffleVector: {
addAssignEdge(CE->getOperand(0), CE);
addAssignEdge(CE->getOperand(1), CE);
break;
}

default:
llvm_unreachable("Unknown instruction type encountered!");
Expand Down

0 comments on commit 8d69360

Please sign in to comment.