Lines Matching full:constant
10 // This pass implements an _extremely_ simple interprocedural constant
34 /// IPCP - The interprocedural constant propagation pass
51 "Interprocedural constant propagation", false, false)
78 /// constant in for an argument, propagate that constant in as the argument.
83 // For each argument, keep track of its constant value and whether it is a
84 // constant or not. The bool is driven to true when found to be non-constant.
85 SmallVector<std::pair<Constant*, bool>, 16> ArgumentConstants;
103 // Check out all of the potentially constant arguments. Note that we don't
110 // If this argument is known non-constant, ignore it.
114 Constant *C = dyn_cast<Constant>(*AI);
116 ArgumentConstants[i].first = C; // First constant seen.
118 // Still the constant value we think it is.
122 // Argument became non-constant. If all arguments are non-constant now,
131 // If we got to this point, there is a constant argument!
136 // Do we have a constant argument?
152 // all callers that use those return values with the constant value. This will
168 // Check to see if this function returns a constant.
198 // Try to see if all the rets return the same constant or argument.
199 if (isa<Constant>(V) || isa<Argument>(V)) {
213 // All values non constant? Stop looking.
219 // If we got here, the function returns at least one constant value. Loop
221 // constant.