This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi,
>> d1 def r161
>> u11 use r161
>> u12 use r161
>> ...
>> d2 def r161
>> u21 use r161
>
>> In this case, use-def chain for r161 will be consisting of
>{d1,d2}. In case
>
>The _reg_-def chain will contain both defs. But the def-use
>chains will
>look like:
> [d1] --> {u11,u12}
> [d2] --> {u21}
Definitely so.
>So df_ref_unlink is only called on those chains, where the
>use-def chain
>of u12 pointed to a def. I.e. if the use-def chain of u12 contains d,
>then the def-use chain of d has to contain u12. And this is the
>consistency what the abort is testing.
OK, the abort seems to check this consistency, and in fact it looks like the
def-use chains are actually inconsistent.
i.e as pointed out..
>if the use-def chain of u12 contains d, then the def-use chain of d has to
contain u12
This is not happening.
Pls see the attached .lreg file for the def-use/use-def chain dump in this
case. (Pls refer <-- HERE ponters in the lreg file)
I am also attaching the advdomestic.i file which was compiled with -ml -m4
-fnew-ra -O2. (compiled for target sh-elf)
>
>Somehow this invariant was mixed up. Try to find what use is
>trying to be
>deleted, and why it is tried to be deleted from a def-use chain which
>didn't contain it.
Snapshot of dump form .lreg file -
Use-def chains: (Shouldn't this be def-use instead??)
...
d4 bb 0 luid 5 insn 21 reg 161 { u14 u19 u29 u44 u58 u64 } <-- (u29 is
modified, previous use-def ref has to be updated)
d47 bb 8 luid 1 insn 129 reg 161 { u66 } <-- Is this correct??
...
Def-use chains: (Use-def??)
...
u14 bb 3 luid 1 insn 52 reg 161 { d4 d47 }
u19 bb 3 luid 3 insn 55 reg 161 { d4 d47 }
u29 bb 4 luid 3 insn 80 reg 161 { d4 d47 }
u44 bb 5 luid 6 insn 96 reg 161 { d4 d47 }
u58 bb 6 luid 2 insn 109 reg 161 { d4 d47 }
u64 bb 8 luid 1 insn 129 reg 161 { d4 d47 }
u66 bb 8 luid 2 insn 25 reg 161 { d47 }
Thanks and Best Regards,
Mukta
Attachment:
test_case.tar.gz
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |