__builtin_expect vs inlining

From: Richard Henderson (rth@twiddle.net)
Date: Sat May 05 2001 - 12:06:35 EST


On Sat, May 05, 2001 at 06:17:18PM +0400, Ivan Kokshaysky wrote:
> > Eh? Would you give me an example that isn't working properly?
>
> Sure.

Fixed thus.

> So one of the questions: can one rely on current branch predictions
> algorithms (val < 0, val = 0 false etc.) in the long term?

Err, no. We reserve the right to tweek the predictions, or to replace
them with different heuristics. I'd hope they'd be _generally_ better
heuristics, though the effect on any one particular test might change.

r~

        * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.

Index: integrate.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/integrate.c,v
retrieving revision 1.142
diff -c -p -r1.142 integrate.c
*** integrate.c 2001/05/03 16:14:34 1.142
--- integrate.c 2001/05/05 16:54:24
*************** copy_insn_list (insns, map, static_chain
*** 1536,1541 ****
--- 1536,1546 ----
                    else
                      NOTE_BLOCK (copy) = *mapped_block_p;
                  }
+ else if (copy
+ && NOTE_LINE_NUMBER (copy) == NOTE_INSN_EXPECTED_VALUE)
+ NOTE_EXPECTED_VALUE (copy)
+ = copy_rtx_and_substitute (NOTE_EXPECTED_VALUE (insn),
+ map, 0);
              }
            else
              copy = 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:22 EST