> On 19 Jan 2026, at 9:34 pm, Kugan Vivekanandarajah <[email protected]>
> wrote:
>
> External email: Use caution opening links or attachments
>
>
> Hi Honza,
>
>> On 13 Jan 2026, at 7:29 pm, Jan Hubička <[email protected]> wrote:
>>
>> When doing PGO or autofdo we should first read the FDO info and create
>> speculative edges based on it.
>>
>> Later speculation is made by ipa-devirt and ipa-prop. If profile feedback is
>> available (i.e. edge->speculative is true) we do not want to add another
>> speculation. First we do not know how to redistribute probabilities and
>> profile info should be more accurate.
>>
>> ipa-devirt already has check
>> if (e->speculative)
>> {
>> if (dump_file)
>> fprintf (dump_file, "Call is already speculated\n\n");
>> stats.nspeculated++;
>>
>> /* When dumping see if we agree with speculation. */
>> if (!dump_file)
>> continue;
>> }
>> ...
>> /* This is reached only when dumping; check if we agree or
>> disagree
>> with the speculation. */
>> if (e->speculative)
>> {
>> bool found = false;
>> for (cgraph_node * likely_target: likely_targets)
>> if (e->speculative_call_for_target (likely_target))
>> {
>> found = true;
>> break;
>> }
>> if (found)
>> {
>> fprintf (dump_file, "We agree with speculation\n\n");
>> stats.nok++;
>> }
>> else
>> {
>> fprintf (dump_file, "We disagree with speculation\n\n");
>> stats.nwrong++;
>> }
>> continue;
>> }
>>
>> Similarly ipa-prop avoids double-speculation
>> /* If the edge is already speculated. */
>> if (speculative && ie->speculative)
>> {
>> if (dump_file)
>> {
>> cgraph_edge *e2 = ie->speculative_call_for_target (callee);
>> if (!e2)
>> {
>> if (dump_file)
>> fprintf (dump_file, "ipa-prop: Discovered call to a "
>> "speculative target (%s -> %s) but the call is "
>> "already speculated to different target. "
>> "Giving up.\n",
>> ie->caller->dump_name (), callee->dump_name ());
>> }
>> else
>> {
>> if (dump_file)
>> fprintf (dump_file,
>> "ipa-prop: Discovered call to a speculative target "
>> "(%s -> %s) this agree with previous speculation.\n",
>> ie->caller->dump_name (), callee->dump_name ());
>> }
>> }
>> return NULL;
>> }
>>
>> So I wonder how the additional speculation is created at the first place?
>> Is it via ipa_merge_profiles?
>
Double checked this. Here is the gdb trace for speculative edges are not
adjacent
We do check e->speculative but in cgraph_edge::make_speculative we do
create_edge . So isn’t the original edge is still there?
AFIK this can happen even without AutoFDO too.
This is the dump for order not being right?
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50f70,
n2=n2@entry=0xfffff5a40dd0, direct_count=...,
speculative_id=speculative_id@entry=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50f70,
n2=n2@entry=0xfffff5a40dd0, direct_count=...,
speculative_id=speculative_id@entry=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000e1d0bc in ipa_profile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-profile.cc:953
#2 0x0000000000f9de2c in execute_one_pass (pass=pass@entry=0x355a450) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa7170 in execute_ipa_pass_list (pass=0x355a450) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae95e4 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec3c0 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e41cc in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_3 (&pNew, &b_1_0, &info);
$1 = void
(gdb) c
Continuing.
{heap 6336k} <icf> {heap 6336k} <devirt>
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50fd8,
n2=n2@entry=0xfffff5a40ff0, direct_count=direct_count@entry=...,
speculative_id=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50fd8,
n2=n2@entry=0xfffff5a40ff0, direct_count=direct_count@entry=...,
speculative_id=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000dced68 in ipa_devirt () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-devirt.cc:3942
#2 0x0000000000f9de2c in execute_one_pass (pass=pass@entry=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa7170 in execute_ipa_pass_list (pass=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae95e4 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec3c0 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e41cc in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_4 (&pParent, &pCell);
(gdb) c
Continuing.
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50f70,
n2=n2@entry=0xfffff5a40ee0, direct_count=direct_count@entry=...,
speculative_id=1) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50f70,
n2=n2@entry=0xfffff5a40ee0, direct_count=direct_count@entry=...,
speculative_id=1) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000dced68 in ipa_devirt () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-devirt.cc:3942
#2 0x0000000000f9de2c in execute_one_pass (pass=pass@entry=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa7170 in execute_ipa_pass_list (pass=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae95e4 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec3c0 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e41cc in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_3 (&pNew, &b_1_0, &info);
$3 = void
(gdb)
(gdb) c
Continuing.
{heap 6336k} <cp>sqlite3.c:72546:1: error: speculative edges are not adjacent
balance_nonroot/7 (balance_nonroot)
Type: function definition analyzed
Visibility: externally_visible public
References: decodeFlags_pPage_0/5 (read) decodeFlags_pPage/4 (write)
cellSizePtrNoPayload/3 (addr) decodeFlags_pPage/4 (write)
decodeFlags_flagByte/6 (read) btreeParseCellPtr/1 (addr)
btreeParseCellPtrNoPayload/11 (addr) decodeFlags_pPage/4 (write)
btreeParseCellPtrIndex/2 (addr) btreeParseCellPtr/1 (addr) (speculative)
cellSizePtrNoPayload/3 (addr) (speculative) btreeParseCellPtrIndex/2 (addr)
(speculative)
Referring:
Availability: available
Profile id: 2029414804
Function flags: count:6838663652 (auto FDO) first_run:1 body hot
Called by: sqlite3_step/9 (1073741824 (estimated locally, globally 0 auto
FDO),1.00 per call)
Calls: btreeParseCellPtrIndex.constprop.0/12 (speculative) (0 (auto FDO),0.00
per call) cellSizePtrNoPayload/3 (speculative) (8017743590 (guessed),1.17 per
call) btreeParseCellPtr/1 (speculative) (20044358980 (auto FDO),2.93 per call)
indirect simple callsite, not calling a known parameter, flags 0, num
speculative call targets: 1
indirect simple callsite, not calling a known parameter, flags 0, num
speculative call targets: 2
during IPA pass: cp
sqlite3.c:72546:1: internal compiler error: verify_cgraph_node failed
0x24292a7 internal_error(char const*, ...)
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/diagnostic-global-context.cc:787
0xae101f cgraph_node::verify_node()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:4525
0xaccab3 symtab_node::verify()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/symtab.cc:1377
0xacdf83 symtab_node::verify_symtab_nodes()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/symtab.cc:1499
0xe5ff8f symtab_node::checking_verify_symtab_nodes()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.h:730
0xe5ff8f symbol_table::remove_unreachable_nodes(_IO_FILE*)
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa.cc:695
0xf9acf3 execute_todo
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2166
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
[Inferior 1 (process 332413) exited with code 04]
(gdb)
Here is the gdb dump for duplicate entry?
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50d68,
n2=n2@entry=0xfffff5a40ee0, direct_count=...,
speculative_id=speculative_id@entry=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50d68,
n2=n2@entry=0xfffff5a40ee0, direct_count=...,
speculative_id=speculative_id@entry=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000e1a01c in ipa_profile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-profile.cc:953
#2 0x0000000000f9cd8c in execute_one_pass (pass=pass@entry=0x355a450) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa60d0 in execute_ipa_pass_list (pass=0x355a450) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae9544 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec320 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e412c in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_1 (&balance_nonroot_pParent, &apDiv);
$1 = void
Continuing.
{heap 6336k} <icf> {heap 6336k} <devirt>
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50dd0,
n2=n2@entry=0xfffff5a40dd0, direct_count=direct_count@entry=...,
speculative_id=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50dd0,
n2=n2@entry=0xfffff5a40dd0, direct_count=direct_count@entry=...,
speculative_id=0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000dcccc8 in ipa_devirt () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-devirt.cc:3942
#2 0x0000000000f9cd8c in execute_one_pass (pass=pass@entry=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa60d0 in execute_ipa_pass_list (pass=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae9544 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec320 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e412c in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_2 (&balance_nonroot_pNew, _4, &balance_nonroot_info);
$2 = void
Breakpoint 1, cgraph_edge::make_speculative (this=this@entry=0xfffff5a50d68,
n2=n2@entry=0xfffff5a40ee0, direct_count=direct_count@entry=...,
speculative_id=1) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
1321 cgraph_node *n = caller;
(gdb) bt
#0 cgraph_edge::make_speculative (this=this@entry=0xfffff5a50d68,
n2=n2@entry=0xfffff5a40ee0, direct_count=direct_count@entry=...,
speculative_id=1) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:1321
#1 0x0000000000dcccc8 in ipa_devirt () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa-devirt.cc:3942
#2 0x0000000000f9cd8c in execute_one_pass (pass=pass@entry=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2656
#3 0x0000000000fa60d0 in execute_ipa_pass_list (pass=0x355a5b0) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:3118
#4 0x0000000000ae9544 in ipa_passes () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2299
#5 symbol_table::compile (this=this@entry=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2364
#6 0x0000000000aec320 in symbol_table::compile (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2342
#7 symbol_table::finalize_compilation_unit (this=0xfffff59c0000) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraphunit.cc:2623
#8 0x00000000010e412c in compile_file () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:482
#9 0x000000000086fec0 in do_compile () at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2225
#10 toplev::main (this=this@entry=0xfffffffff560, argc=<optimized out>,
argc@entry=6, argv=<optimized out>, argv@entry=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/toplev.cc:2390
#11 0x00000000008767b8 in main (argc=6, argv=0xfffffffff6e8) at
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/main.cc:39
(gdb) p print_gimple_stmt (stderr, call_stmt, 0, 0)
_1 (&balance_nonroot_pParent, &apDiv);
$3 = void
Continuing.
{heap 6336k} <cp>sqlite3.c:128:14: error: speculative edges are not adjacent
balance_nonroot/7 (balance_nonroot)
Type: function definition analyzed
Visibility: externally_visible public
References: balance_nonroot_pParent/2 (read) balance_nonroot_pParent/2 (addr)
decodeFlags_pPage/1 (write) cellSizePtrNoPayload/6 (addr) decodeFlags_pPage/1
(write) btreeParseCellPtrIndex/5 (addr) balance_nonroot_pNew/3 (read)
balance_nonroot_pNew/3 (addr) balance_nonroot_info/4 (addr)
balance_nonroot_pParent/2 (addr) cellSizePtrNoPayload/6 (addr) (speculative)
balance_nonroot_pNew/3 (addr) balance_nonroot_info/4 (addr)
btreeParseCellPtrIndex/5 (addr) (speculative) balance_nonroot_pParent/2 (addr)
cellSizePtrNoPayload/6 (addr) (speculative)
Referring:
Availability: available
Profile id: 2029414804
Function flags: count:6838663652 (auto FDO) first_run:1 body hot
Called by: sqlite3_step/8 (1073741824 (estimated locally, globally 0 auto
FDO),1.00 per call)
Calls: cellSizePtrNoPayload.constprop.0/9 (speculative) (0 (auto FDO),0.00
per call) btreeParseCellPtrIndex.constprop.0/10 (speculative) (1179834551162
(auto FDO),172.52 per call) cellSizePtrNoPayload.constprop.0/9 (speculative)
(29359090506 (auto FDO),4.29 per call)
indirect simple callsite, not calling a known parameter, flags 0, num
speculative call targets: 1
indirect simple callsite, not calling a known parameter, flags 0, num
speculative call targets: 2
during IPA pass: cp
sqlite3.c:128:14: internal compiler error: verify_cgraph_node failed
0x2429207 internal_error(char const*, ...)
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/diagnostic-global-context.cc:787
0xae0f7f cgraph_node::verify_node()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.cc:4499
0xaccab3 symtab_node::verify()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/symtab.cc:1377
0xacdf83 symtab_node::verify_symtab_nodes()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/symtab.cc:1499
0xe5ceef symtab_node::checking_verify_symtab_nodes()
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/cgraph.h:730
0xe5ceef symbol_table::remove_unreachable_nodes(_IO_FILE*)
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/ipa.cc:695
0xf99c53 execute_todo
/mnt/scratch.grco_devs3/kvivekananda/hierarchical/gcc/gcc/passes.cc:2166
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
[Inferior 1 (process 374309) exited with code 04]
(gdb)
IMO we need both the patches to fix them.
Thanks,
Kugan
>
>
>>
>> Honza
>
>