------- Comment #23 from rguenth at gcc dot gnu dot org 2010-08-30 07:11 ------- (In reply to comment #22) > Given the fact that the solution space is really large -- M^N where M is the > number of candidates and M is the number of uses (here M == 70 and N == 48), > and the cost function is complicated, it will be challenging to come up with > algorithm that converges really fast, and most importantly -- 'guarantees' an > optimal solution..
Well - we can't guarantee an optimal solution. We have to take compile-time into account which means that O(M^N) is not acceptable but we need to come up with something that can complete in O((M+N) log (M+N)) time at most. I btw doubt that the solution found is anywhere near optimal for 32bit x86 - using 15 IVs instead of 2 can't be cheaper. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45422