+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
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",
+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.
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" } } */
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" } } */
+++ /dev/null
-/* { 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" } } */
/* { 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)