[Bug middle-end/43958] New: FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }"

danglin at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun May 2 00:21:00 GMT 2010


Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c   -O2 -fipa-pta
-fdump-ipa-
pta-details  -lm   -o ./ipa-pta-10.exe    (timeout = 300)
PASS: gcc.dg/ipa/ipa-pta-10.c (test for excess errors)
Setting LD_LIBRARY_PATH to :/test/gnu/gcc/objdir/gcc::/test/gnu/gcc/objdir/gcc
PASS: gcc.dg/ipa/ipa-pta-10.c execution test
FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }"

Generating constraints for global initializers

ANYTHING = &ANYTHING
READONLY = &READONLY
ESCAPED = *ESCAPED
ESCAPED = ESCAPED + UNKNOWN
*ESCAPED = NONLOCAL
NONLOCAL = &NONLOCAL
NONLOCAL = &ESCAPED
INTEGER = &ANYTHING

Generating constraints for main

foo.varargs = &i
main.clobber = foo.clobber
main.use = foo.use
main.use = ESCAPED

Generating constraints for foo

ap = &ANYTHING
CALLCLOBBERED = &ap
ap.1_1 = ap
D.1970_2 = ap.1_1 + -32
ESCAPED = D.1970_2
ap.2_5 = &ANYTHING
ap = ap.2_5
ap.1_6 = ap
ap.3_7 = ap.1_6
p_8 = *ap.3_7
foo.use = ap.3_7
foo.clobber = p_8


Collapsing static cycles and doing variable substitution
Building predecessor graph
Detecting pointer and location equivalences
Found location equivalence for node NONLOCAL
Equivalence classes for Indirect node node id 0:NULL are pointer: 1, location:0
Equivalence classes for Indirect node node id 1:ANYTHING are pointer: 2,
locatio
n:1
Equivalence classes for Indirect node node id 2:READONLY are pointer: 3,
locatio
n:2
Equivalence classes for Indirect node node id 3:ESCAPED are pointer: 7,
location
:3
Equivalence classes for Indirect node node id 4:NONLOCAL are pointer: 5,
locatio
n:3
Equivalence classes for Direct node node id 5:STOREDANYTHING are pointer: 0,
loc
ation:0
Equivalence classes for Indirect node node id 6:INTEGER are pointer: 8,
location
:0
Equivalence classes for Direct node node id 7:main are pointer: 0, location:0
Equivalence classes for Direct node node id 8:main.clobber are pointer: 9,
locat
ion:0
Equivalence classes for Direct node node id 9:main.use are pointer: 12,
location
:0
Equivalence classes for Direct node node id 10:main.result are pointer: 0,
locat
ion:0
Equivalence classes for Direct node node id 11:main.varargs are pointer: 0,
loca
tion:0
Equivalence classes for Direct node node id 12:foo are pointer: 0, location:0
Equivalence classes for Direct node node id 13:foo.clobber are pointer: 9,
locat
ion:0
Equivalence classes for Direct node node id 14:foo.use are pointer: 11,
location
:0
Equivalence classes for Direct node node id 15:foo.result are pointer: 0,
locati
on:0
Equivalence classes for Direct node node id 16:foo.arg0 are pointer: 0,
location
:0
Equivalence classes for Direct node node id 17:foo.varargs are pointer: 13,
loca
tion:0
Equivalence classes for Indirect node node id 18:i are pointer: 14, location:4
Equivalence classes for Direct node node id 19:abort are pointer: 0, location:0
Equivalence classes for Indirect node node id 20:ap are pointer: 11, location:5
Equivalence classes for Direct node node id 21:CALLUSED are pointer: 0,
location
:0
Equivalence classes for Direct node node id 22:CALLCLOBBERED are pointer: 15,
lo
cation:0
Equivalence classes for Direct node node id 23:ap.1_1 are pointer: 11,
location:
0
Equivalence classes for Indirect node node id 24:D.1970_2 are pointer: 4,
locati
on:0
Equivalence classes for Direct node node id 25:ap.2_5 are pointer: 10,
location:
0
Equivalence classes for Direct node node id 26:ap.1_6 are pointer: 11,
location:
0
Equivalence classes for Direct node node id 27:ap.3_7 are pointer: 11,
location:
0
Equivalence classes for Direct node node id 28:p_8 are pointer: 9, location:0
STOREDANYTHING is a non-pointer variable, eliminating edges.
main is a non-pointer variable, eliminating edges.
main.result is a non-pointer variable, eliminating edges.
main.varargs is a non-pointer variable, eliminating edges.
foo is a non-pointer variable, eliminating edges.
foo.result is a non-pointer variable, eliminating edges.
foo.arg0 is a non-pointer variable, eliminating edges.
abort is a non-pointer variable, eliminating edges.
CALLUSED is a non-pointer variable, eliminating edges.
Rewriting constraints and unifying variables
Unifying foo.clobber to main.clobber
Unifying ap.1_1 to foo.use
Unifying ap.1_6 to foo.use
Unifying ap.3_7 to foo.use
Unifying p_8 to main.clobber
Uniting pointer but not location equivalent variables
Unifying ap to foo.use
Finding indirect cycles
Solving graph

Points-to sets

ANYTHING = { ANYTHING }
READONLY = { READONLY }
ESCAPED = { ANYTHING ESCAPED NONLOCAL }
NONLOCAL = { ESCAPED NONLOCAL }
STOREDANYTHING = { ESCAPED NONLOCAL }
INTEGER = { ANYTHING }
main.clobber = { ANYTHING ESCAPED NONLOCAL }
main.use = { ANYTHING ESCAPED NONLOCAL }
main.varargs = { }
foo.clobber = { ANYTHING ESCAPED NONLOCAL } same as main.clobber
foo.use = { ANYTHING ESCAPED NONLOCAL }
foo.varargs = { i }
ap = { ANYTHING ESCAPED NONLOCAL } same as foo.use
CALLUSED = { }
CALLCLOBBERED = { ap }
ap.1_1 = { ANYTHING ESCAPED NONLOCAL } same as foo.use
D.1970_2 = { ANYTHING ESCAPED NONLOCAL }
ap.2_5 = { ANYTHING }
ap.1_6 = { ANYTHING ESCAPED NONLOCAL } same as foo.use
ap.3_7 = { ANYTHING ESCAPED NONLOCAL } same as foo.use
p_8 = { ANYTHING ESCAPED NONLOCAL } same as main.clobber


-- 
           Summary: FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED
                    = { }"
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43958



More information about the Gcc-bugs mailing list