mirror of git://gcc.gnu.org/git/gcc.git
params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default to zero, thus disable creation of SFTs.
2008-04-15 Richard Guenther <rguenther@suse.de> * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default to zero, thus disable creation of SFTs. * gcc.dg/tree-ssa/salias-1.c: Remove. * gcc.dg/tree-ssa/pr26421.c: Adjust pattern. * gcc.dg/tree-ssa/alias-15.c: Likewise. * gcc.dg/tree-ssa/ssa-lim-3.c: Run at -O2. From-SVN: r134321
This commit is contained in:
parent
7e80c6bf0a
commit
d9338cf00c
|
|
@ -1,3 +1,8 @@
|
|||
2008-04-15 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default
|
||||
to zero, thus disable creation of SFTs.
|
||||
|
||||
2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* tree-predcom.c (suitable_reference_p): Return false if the
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ DEFPARAM (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS,
|
|||
DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
|
||||
"max-fields-for-field-sensitive",
|
||||
"Maximum number of fields in a structure before pointer analysis treats the structure as a single variable",
|
||||
100, 0, 0)
|
||||
0, 0, 0)
|
||||
|
||||
DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
|
||||
"max-sched-ready-insns",
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
2008-04-15 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* gcc.dg/tree-ssa/salias-1.c: Remove.
|
||||
* gcc.dg/tree-ssa/pr26421.c: Adjust pattern.
|
||||
* gcc.dg/tree-ssa/alias-15.c: Likewise.
|
||||
* gcc.dg/tree-ssa/ssa-lim-3.c: Run at -O2.
|
||||
|
||||
2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/loop_optimization1.ad[sb]: New test.
|
||||
|
|
|
|||
|
|
@ -11,10 +11,9 @@ static inline struct X *wrap(struct X *p) { return p; }
|
|||
int test2(void)
|
||||
{
|
||||
struct X *p = wrap(&m.b);
|
||||
/* Both memory references need to alias the same SFT. */
|
||||
/* Both memory references need to alias the same tags. */
|
||||
return p->b[3] - m.b.b[3];
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump "SFT.5 created for var m offset 128" "salias" } } */
|
||||
/* { dg-final { scan-tree-dump-times "VUSE <SFT.5_" 2 "salias" } } */
|
||||
/* { dg-final { scan-tree-dump-times "VUSE <m_.\\\(D\\\)>" 2 "salias" } } */
|
||||
/* { dg-final { cleanup-tree-dump "salias" } } */
|
||||
|
|
|
|||
|
|
@ -16,5 +16,7 @@ int foo(void)
|
|||
return a.i;
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "VDEF" 4 "salias" } } */
|
||||
/* Verify the call clobbers all of a. */
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "VDEF <a_" 2 "salias" } } */
|
||||
/* { dg-final { cleanup-tree-dump "salias" } } */
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fdump-tree-salias" } */
|
||||
|
||||
struct {
|
||||
struct {
|
||||
struct {
|
||||
int i, j;
|
||||
} c;
|
||||
} b;
|
||||
} a;
|
||||
|
||||
int foo(void)
|
||||
{
|
||||
a.b.c.i = 0;
|
||||
return a.b.c.j;
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "structure field tag SFT" 2 "salias" } } */
|
||||
/* { dg-final { cleanup-tree-dump "salias" } } */
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fdump-tree-lim-details" } */
|
||||
/* { dg-options "-O2 -fdump-tree-lim-details" } */
|
||||
|
||||
struct { int x; int y; } global;
|
||||
void foo(int n)
|
||||
|
|
|
|||
Loading…
Reference in New Issue