re PR tree-optimization/41011 (ICE in ipcp_lattice_from_jfunc, at ipa-cp.c:328)
2009-08-12 Richard Guenther <rguenther@suse.de> PR tree-optimization/41011 * ipa-cp.c (ipcp_lattice_from_jfunc): Deal with failing fold and reference constructing. * gfortran.dg/pr41011.f: New testcase. From-SVN: r150705
This commit is contained in:
parent
f3ecb732f3
commit
88ccda10f1
@ -1,3 +1,9 @@
|
||||
2009-08-12 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/41011
|
||||
* ipa-cp.c (ipcp_lattice_from_jfunc): Deal with failing fold
|
||||
and reference constructing.
|
||||
|
||||
2009-08-12 Xinliang David Li <davidxl@google.com>
|
||||
|
||||
PR tree-optimization/41012
|
||||
|
12
gcc/ipa-cp.c
12
gcc/ipa-cp.c
@ -302,7 +302,8 @@ ipcp_lattice_from_jfunc (struct ipa_node_params *info, struct ipcp_lattice *lat,
|
||||
cst = fold_binary (jfunc->value.pass_through.operation,
|
||||
TREE_TYPE (cst), cst,
|
||||
jfunc->value.pass_through.operand);
|
||||
gcc_assert (cst && is_gimple_ip_invariant (cst));
|
||||
if (!cst || !is_gimple_ip_invariant (cst))
|
||||
lat->type = IPA_BOTTOM;
|
||||
lat->constant = cst;
|
||||
}
|
||||
else if (jfunc->type == IPA_JF_ANCESTOR)
|
||||
@ -325,8 +326,13 @@ ipcp_lattice_from_jfunc (struct ipa_node_params *info, struct ipcp_lattice *lat,
|
||||
ok = build_ref_for_offset (&t, TREE_TYPE (t),
|
||||
jfunc->value.ancestor.offset,
|
||||
jfunc->value.ancestor.type, false);
|
||||
gcc_assert (ok);
|
||||
lat->constant = build_fold_addr_expr (t);
|
||||
if (!ok)
|
||||
{
|
||||
lat->type = IPA_BOTTOM;
|
||||
lat->constant = NULL_TREE;
|
||||
}
|
||||
else
|
||||
lat->constant = build_fold_addr_expr (t);
|
||||
}
|
||||
else
|
||||
lat->type = IPA_BOTTOM;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2009-08-12 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/41011
|
||||
* gfortran.dg/pr41011.f: New testcase.
|
||||
|
||||
2009-08-11 Andrew Haley <aph@redhat.com>
|
||||
|
||||
* gcc.target/arm/synchronize.c: New file.
|
||||
|
23
gcc/testsuite/gfortran.dg/pr41011.f
Normal file
23
gcc/testsuite/gfortran.dg/pr41011.f
Normal file
@ -0,0 +1,23 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-O3 -fwhole-file" }
|
||||
CALL UVSET(NX,NY,NZ,HVAR,ZET,NP,DZ,DKM,UM,VM,UG,VG,TM,DCDX, ! { dg-warning "Rank mismatch" }
|
||||
*ITY,ISH,NSMT,F)
|
||||
CALL DCTDX(NX,NY,NX1,NFILT,C(MLAG),DCDX(MLAG),HELP,HELPA,
|
||||
* HELP,HELPA,FY,FYC,SAVEY)
|
||||
END
|
||||
SUBROUTINE PADEC(DKS,DKDS,HVAR,WM,WG,FN,NS,AN,BN,CN,IT)
|
||||
COMPLEX*16 WM(*),WG(*),FN(*),AN(*),BN(*),CN(*)
|
||||
BN(J)=F4+AS+GAMMA*F2
|
||||
CN(J)=F4-AS+GAMMA*F2
|
||||
FN(J)=(AS+F4-GAMMA*F2)*H2+(F4-AS-GAMMA*F2)*H0+
|
||||
* H1*(F3-GAMMA/3.D0)+GAMMA*WG(J)-CONST
|
||||
END
|
||||
SUBROUTINE UVSET(NX,NY,NZ,HVAR,ZET,NP,DZ,DKM,UM,VM,UG,VG,TM,
|
||||
*WORK,ITY,IH,NSMT,F)
|
||||
DIMENSION HVAR(*),ZET(*),TM(*),DKM(*),UM(*),VM(*),UG(*),VG(*),
|
||||
*WORK(*)
|
||||
IF(IH.EQ.0) THEN
|
||||
CALL PADEC(DKM,VM,HVAR,WORK(LWM),WORK(LWG), ! { dg-warning "Rank mismatch" }
|
||||
* WORK(LF),NZ,WORK(LA),WORK(LB),WORK(LC),ITY)
|
||||
ENDIF
|
||||
END
|
Loading…
Reference in New Issue
Block a user