1//===- SCCP.cpp - Sparse Conditional Constant Propagation -----------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
--- 625 unchanged lines hidden (view full) ---
634 } else if (!TrackedMultipleRetVals.empty() &&
635 I.getNumOperands() == 1 &&
636 isa<StructType>(I.getOperand(0)->getType())) {
637 for (unsigned i = 0, e = I.getOperand(0)->getType()->getNumContainedTypes();
638 i != e; ++i) {
639 DenseMap<std::pair<Function*, unsigned>, LatticeVal>::iterator
640 It = TrackedMultipleRetVals.find(std::make_pair(F, i));
641 if (It == TrackedMultipleRetVals.end()) break;
642 Value *Val = FindInsertedValue(I.getOperand(0), i);
643 mergeInValue(It->second, F, getValueState(Val));
644 }
645 }
646}
647
648void SCCPSolver::visitTerminatorInst(TerminatorInst &TI) {
649 SmallVector<bool, 16> SuccFeasible;
650 getFeasibleSuccessors(TI, SuccFeasible);
651
--- 1204 unchanged lines hidden ---
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
--- 625 unchanged lines hidden (view full) ---
634 } else if (!TrackedMultipleRetVals.empty() &&
635 I.getNumOperands() == 1 &&
636 isa<StructType>(I.getOperand(0)->getType())) {
637 for (unsigned i = 0, e = I.getOperand(0)->getType()->getNumContainedTypes();
638 i != e; ++i) {
639 DenseMap<std::pair<Function*, unsigned>, LatticeVal>::iterator
640 It = TrackedMultipleRetVals.find(std::make_pair(F, i));
641 if (It == TrackedMultipleRetVals.end()) break;
642 Value *Val = FindInsertedValue(I.getOperand(0), i);
643 mergeInValue(It->second, F, getValueState(Val));
644 }
645 }
646}
647
648void SCCPSolver::visitTerminatorInst(TerminatorInst &TI) {
649 SmallVector<bool, 16> SuccFeasible;
650 getFeasibleSuccessors(TI, SuccFeasible);
651
--- 1204 unchanged lines hidden ---