re PR tree-optimization/63738 (ssa corruption when compiled with -O3)
2014-11-26 Richard Biener <rguenther@suse.de> PR middle-end/63738 * tree-data-ref.c (split_constant_offset_1): Do not follow SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI. * gcc.dg/torture/pr63738.c: New testcase. From-SVN: r218088
This commit is contained in:
parent
aaf176ca18
commit
5721768d28
|
@ -1,3 +1,9 @@
|
|||
2014-11-26 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/63738
|
||||
* tree-data-ref.c (split_constant_offset_1): Do not follow
|
||||
SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
|
||||
|
||||
2014-11-26 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* fold-const.h (const_unop): Declare.
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-11-26 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/63738
|
||||
* gcc.dg/torture/pr63738.c: New testcase.
|
||||
|
||||
2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||
|
||||
PR bootstrap/63995
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
struct longjmp_buffer {
|
||||
jmp_buf buf;
|
||||
};
|
||||
|
||||
void plouf();
|
||||
|
||||
extern long interprete()
|
||||
{
|
||||
long * sp;
|
||||
int i;
|
||||
long *args;
|
||||
int n;
|
||||
|
||||
struct longjmp_buffer raise_buf;
|
||||
_setjmp (raise_buf.buf);
|
||||
|
||||
plouf();
|
||||
sp -= 4;
|
||||
for (i = 0; i < n; i++)
|
||||
args[i] = sp[10-i];
|
||||
plouf();
|
||||
return 0;
|
||||
}
|
|
@ -674,6 +674,9 @@ split_constant_offset_1 (tree type, tree op0, enum tree_code code, tree op1,
|
|||
|
||||
case SSA_NAME:
|
||||
{
|
||||
if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0))
|
||||
return false;
|
||||
|
||||
gimple def_stmt = SSA_NAME_DEF_STMT (op0);
|
||||
enum tree_code subcode;
|
||||
|
||||
|
|
Loading…
Reference in New Issue