On 11/13/14 13:06, mliska wrote:
gcc/ChangeLog:
2014-11-13 Martin Liska <mli...@suse.cz>
* fibonacci_heap.h: New file.
* ipa-inline.c (update_edge_key): New heap API is used.
(update_caller_keys): Likewise.
(update_callee_keys): Likewise.
(lookup_recursive_calls): Likewise.
(recursive_inlining): Likewise.
(add_new_edges_to_heap): Likewise.
(heap_edge_removal_hook): Likewise.
(inline_small_functions): Likewise.
This is a very simple, literal translation of the old fibheap code into
C++. Probably the hardest part of reviewing was translating between the
function names between the two implementations.
+ /* Constructor for a node with givek KEY. */
s/givek/given/
+ if (x->compare (y) > 0)
+ {
+ /* TODO: swap */
+ fibonacci_node_t *temp;
+ temp = x;
+ x = y;
+ y = temp;
+ }
Given the literal translation, I can see why you left this. Feel free
to turn it into a swap, consider the patch pre-approved.
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 5c97815..1ce856f 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -138,6 +138,10 @@ along with GCC; see the file COPYING3. If not see
#include "auto-profile.h"
#include "cilk.h"
#include "builtins.h"
+#include "fibonacci_heap.h"
If there are no more uses of fibheap.h, then remove its #include.
Approved with the nit fixes.
jeff