Hi Honza, I converted all other weight update locations to use the helper functions in basic-block.h instead of truncation (the patch I checked in a couple weeks ago covered the cases that already used RDIV - see the follow-on messages in this thread). I am almost done testing with SPEC cpu2006. So far I haven't seen any performance effects, so I am hoping to send this for review today or tomorrow.
Thanks, Teresa On Mon, Apr 22, 2013 at 10:27 AM, Jan Hubicka <hubi...@ucw.cz> wrote: >> On Wed, Mar 27, 2013 at 6:22 PM, Teresa Johnson <tejohn...@google.com> wrote: >> > I found that the node weight updates on cloned nodes during ipa-cp were >> > leading to incorrect/insane weights. Both the original and new node weight >> > computations used truncating divides, leading to a loss of total node >> > weight. >> > I have fixed this by making both rounding integer divides. >> > >> > Bootstrapped and tested on x86-64-unknown-linux-gnu. Ok for trunk? >> >> I'm sure we can outline a rounding integer divide inline function on >> gcov_type. To gcov-io.h, I suppose. > > Most of code currently use RDIV for rounding divides (at lest I am slowly > trying > to migrate to that). > > Honza -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413