[PATCH] D36963: Use sorting instead of a lot of stable_partitions for `ICF::segregate` function
Alex Telishev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 25 12:27:34 PDT 2017
alex.telishev added a comment.
> Okay, let's consider chunks [c1, c2, ..., c_n] as integers [1, 2, ..., n]. If we consider their addresses as integers, that makes sense. Now, assume that c2 equals to c3 in terms of ICF, but no other chunks equal to any other chunks.
I'm not saying we should treat their addresses as integers, it's of course wrong. I mean that ICF equality function compares a bunch of values (basically integer) inside of two chunks. consider that chunk C_i is composed of integers [x_i1, xi2, ..., x_ik] and ICF comparison function is C_m = C_n iff x_m1== x_n1 && x_m2== x_n2, && ... && x_mk== x_nk. Then we can choose comparison function as C_m < C_n iff [x_m1, xm2, ..., x_mk] < [x_n1, xn2, ..., x_nk] where compasion is done lexicographically.
> Are you testing with /DEBUG or without?
Last test was without /DEBUG and both version sometimes produced different results (not is size though)
https://reviews.llvm.org/D36963
More information about the llvm-commits
mailing list