re PR middle-end/91190 (ICE on valid code: in hashtab_chk_error, at hash-table.c:137)
PR middle-end/91190 * function.c (insert_temp_slot_address): Store into the hash table a copy of address to avoid RTL sharing issues. * gcc.c-torture/compile/pr91190.c: New test. From-SVN: r273599
This commit is contained in:
parent
22469e4244
commit
14298fa489
@ -1,3 +1,9 @@
|
||||
2019-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/91190
|
||||
* function.c (insert_temp_slot_address): Store into the hash table
|
||||
a copy of address to avoid RTL sharing issues.
|
||||
|
||||
2019-07-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/91207
|
||||
|
@ -704,7 +704,7 @@ static void
|
||||
insert_temp_slot_address (rtx address, class temp_slot *temp_slot)
|
||||
{
|
||||
struct temp_slot_address_entry *t = ggc_alloc<temp_slot_address_entry> ();
|
||||
t->address = address;
|
||||
t->address = copy_rtx (address);
|
||||
t->temp_slot = temp_slot;
|
||||
t->hash = temp_slot_address_compute_hash (t);
|
||||
*temp_slot_address_table->find_slot_with_hash (t, t->hash, INSERT) = t;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2019-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/91190
|
||||
* gcc.c-torture/compile/pr91190.c: New test.
|
||||
|
||||
2019-07-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/91207
|
||||
|
31
gcc/testsuite/gcc.c-torture/compile/pr91190.c
Normal file
31
gcc/testsuite/gcc.c-torture/compile/pr91190.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* PR middle-end/91190 */
|
||||
|
||||
unsigned a[1], c;
|
||||
long d, h;
|
||||
int e[2], f, g;
|
||||
char i;
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char k = 0;
|
||||
int l;
|
||||
while (i || d)
|
||||
{
|
||||
if (g)
|
||||
while (1)
|
||||
;
|
||||
e[1] = 0;
|
||||
long m[2], n = ~(3 & (5 | (h | 9) * 2237420170));
|
||||
g = 90 * n;
|
||||
char b = m[300000000], j = 0;
|
||||
c = 5 ^ a[c ^ (b & 5)];
|
||||
int o = d;
|
||||
k = o ? : j;
|
||||
if (k)
|
||||
for (l = 0; l < 3; l++)
|
||||
if (m[200000000000000000])
|
||||
__builtin_printf ("%d", f);
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user