This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch fixes both of those issues. Both of these issues show up in bootstrapping with the patch in PR 22368.
Thanks, Andrew Pinski
Attachment:
dom.diff.txt
Description: Text document
Testcases: testcase1: /* { dg-do compile } */ /* { dg-options "-O1 -fdelete-null-pointer-checks" } */ int t(int *a) { int i; *a = 1; i = a == 0; return i; }
testcase2: /* { dg-do compile } */ /* { dg-options "-O2" } */ void abort(void) __attribute__((__noreturn__)); typedef struct { int container; } edge_iterator; struct ls_expr { int index; int stores; struct ls_expr * next; }; struct ls_expr * pre_ldst_mems; edge_iterator ei; void store_motion (void) { struct ls_expr * ptr, **prev_next_ptr_ptr; edge_iterator ei1; edge_iterator ei2; int a = ptr != ((void *)0); for (ptr = pre_ldst_mems, prev_next_ptr_ptr = &pre_ldst_mems; ptr != ((void *)0); ptr = *prev_next_ptr_ptr) if (!((ptr)->stores)) *prev_next_ptr_ptr = ptr->next; else prev_next_ptr_ptr = &ptr->next;
for (ptr = pre_ldst_mems; ptr != 0; ptr = ptr->next) ; ei1 = ei; ei2 = ei1; if (!ei2.container) abort (); ei2 = ei1; if (!ei2.container) abort (); }
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |