Lines Matching full:functions
49 ICF("icf", cl::desc("fold functions with identical code"),
81 /// Compare two jump tables in 2 functions. The function relies on consistent
82 /// ordering of basic blocks in both binary functions (e.g. DFS).
125 /// given instruction of the given function. The functions should have
183 /// potentially identical but different functions are ignored during the
187 assert(A.hasCFG() && B.hasCFG() && "both functions should have CFG");
189 // Compare the two functions, one basic block at a time.
192 // functions. The latter is important for CFG equality.
197 // Comparing multi-entry functions could be non-trivial.
204 // Process both functions in either DFS or existing order.
250 // multiple entry points and we exclude such functions from
255 // Compare symbols as functions.
267 // Self-referencing functions and recursive calls.
271 // Functions with different hash values can never become identical,
338 // This hash table is used to identify identical functions. It maps
339 // a function to a bucket of functions identical to it.
344 /// Identify two congruent functions. Two functions are considered congruent,
346 /// that reference potentially identical functions, i.e. functions that could
347 /// be folded later. Congruent functions are candidates for folding in our
350 /// Congruent functions are required to have identical hash.
455 // Hash all the functions
482 // Creates buckets with congruent functions - functions that potentially
496 // Partition each set of congruent functions into sets of identical functions
509 // Fold identical functions within a single congruent bucket
514 // Identical functions go into the same bucket.
521 // Functions identified as identical.
526 // Fold functions. Keep the order consistent across invocations with
547 // Fold the function and remove from the list of processed functions.
599 // Print functions that are congruent but not identical.
605 << " functions (each of size " << (*Candidates.begin())->getSize()
618 << OriginalFunctionCount << " functions in " << Iteration
620 << " functions had jump tables.\n"
621 << "BOLT-INFO: Removing all identical functions will save "
623 << " KB of code space. Folded functions were called " << NumCalled