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 if (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 --- |