Lines Matching full:aggregate
50 "Number of aggregate reconstructions turned into reuse of the "
51 "original aggregate");
863 /// Look for chain of insertvalue's that fully define an aggregate, and trace
865 /// the same source aggregate from the exact same element indexes.
866 /// If they were, just reuse the source aggregate.
880 llvm_unreachable("Unhandled aggregate type?");
883 // Arbitrary aggregate size cut-off. Motivation for limit of 2 is to be able
886 assert(NumAggElts > 0 && "Aggregate should have elements.");
893 // Try to find a value of each element of an aggregate.
894 // FIXME: deal with more complex, not one-dimensional, aggregate types
897 // Do we know values for each element of the aggregate?
908 // Recurse up the chain of `insertvalue` aggregate operands until either we've
926 // of an aggregate. If we did, that means the CurrIVI will later be
934 // Was that sufficient to deduce the full initializer for the aggregate?
938 // We now want to find the source[s] of the aggregate elements we've found.
939 // And with "source" we mean the original aggregate[s] from which
943 /// When analyzing the value that was inserted into an aggregate, we did
946 /// When analyzing the value that was inserted into an aggregate, we did
948 /// matched perfectly - aggregate type, element insertion/extraction index.
950 /// When analyzing the value that was inserted into an aggregate, we did
953 /// match the aggregate type into which the insertion was,
967 // aggregate AggTy, see if \p Elt was originally defined by an
968 // appropriate extractvalue (same element index, same aggregate type).
969 // If found, return the source aggregate from which the extraction was.
996 // Given elements AggElts that were constructing an aggregate OrigIVI,
997 // see if we can find appropriate source aggregate for each of the elements,
998 // and see it's the same aggregate for each element. If so, return it.
1011 // For this element, is there a plausible source aggregate?
1013 // source aggregate said element isn't poison.
1020 // aggregate for previous elements (if any), if we didn't find one for
1025 // Okay, we have found source aggregate for this element.
1030 SourceAggregate = SourceAggregateForElement; // Record the aggregate!
1034 // Is this the same source aggregate we've found for other elements?
1037 continue; // Still the same aggregate, look at next element.
1050 // Can we find the source aggregate without looking at predecessors?
1063 // merge point for aggregate, where we'll insert the final PHI that will be
1087 // If we didn't manage to find source aggregate without looking at
1105 // For each predecessor, what is the source aggregate,
1117 // aggregate produced by OrigIVI must have been originally extracted from
1118 // the same aggregate. Is that so? Can we find said original aggregate?