mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-25 19:11:21 +08:00
Save ref->speculative_id before clone_reference.
PR ipa/94250 * symtab.c (symtab_node::clone_references): Save speculative_id as ref may be overwritten by create_reference. (symtab_node::clone_referring): Likewise. (symtab_node::clone_reference): Likewise.
This commit is contained in:
parent
b809f0b658
commit
2fa4b1ffd6
@ -1,3 +1,11 @@
|
||||
2020-03-23 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR ipa/94250
|
||||
* symtab.c (symtab_node::clone_references): Save speculative_id
|
||||
as ref may be overwritten by create_reference.
|
||||
(symtab_node::clone_referring): Likewise.
|
||||
(symtab_node::clone_reference): Likewise.
|
||||
|
||||
2020-03-22 Iain Sandoe <iain@sandoe.co.uk>
|
||||
|
||||
* config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove
|
||||
|
@ -670,11 +670,12 @@ symtab_node::clone_references (symtab_node *node)
|
||||
{
|
||||
bool speculative = ref->speculative;
|
||||
unsigned int stmt_uid = ref->lto_stmt_uid;
|
||||
unsigned int spec_id = ref->speculative_id;
|
||||
|
||||
ref2 = create_reference (ref->referred, ref->use, ref->stmt);
|
||||
ref2->speculative = speculative;
|
||||
ref2->lto_stmt_uid = stmt_uid;
|
||||
ref2->speculative_id = ref->speculative_id;
|
||||
ref2->speculative_id = spec_id;
|
||||
}
|
||||
}
|
||||
|
||||
@ -689,11 +690,12 @@ symtab_node::clone_referring (symtab_node *node)
|
||||
{
|
||||
bool speculative = ref->speculative;
|
||||
unsigned int stmt_uid = ref->lto_stmt_uid;
|
||||
unsigned int spec_id = ref->speculative_id;
|
||||
|
||||
ref2 = ref->referring->create_reference (this, ref->use, ref->stmt);
|
||||
ref2->speculative = speculative;
|
||||
ref2->lto_stmt_uid = stmt_uid;
|
||||
ref2->speculative_id = ref->speculative_id;
|
||||
ref2->speculative_id = spec_id;
|
||||
}
|
||||
}
|
||||
|
||||
@ -704,12 +706,13 @@ symtab_node::clone_reference (ipa_ref *ref, gimple *stmt)
|
||||
{
|
||||
bool speculative = ref->speculative;
|
||||
unsigned int stmt_uid = ref->lto_stmt_uid;
|
||||
unsigned int spec_id = ref->speculative_id;
|
||||
ipa_ref *ref2;
|
||||
|
||||
ref2 = create_reference (ref->referred, ref->use, stmt);
|
||||
ref2->speculative = speculative;
|
||||
ref2->lto_stmt_uid = stmt_uid;
|
||||
ref2->speculative_id = ref->speculative_id;
|
||||
ref2->speculative_id = spec_id;
|
||||
return ref2;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user