Missed opportunity in cselib.c/postreload?
Bin.Cheng
amker.cheng@gmail.com
Thu Sep 20 08:57:00 GMT 2012
Hi,
I am investigating pr54133. For following dump insns before postreload:
130 r2:DF=1.0e+1
77 r0:DF=call [`__aeabi_ddiv'] argc:0
REG_EH_REGION: 0xffffffff80000000
78 r4:DF=r0:DF
144 r2:DF=[sp:SI+0x28]
80 [sp:SI]=r2:DF
145 r2:DF=[sp:SI+0x38]
81 [sp:SI+0x8]=r2:DF
146 r2:DF=[sp:SI+0x48]
82 [sp:SI+0x10]=r2:DF
83 r0:DF=r4:DF
84 r2:DF=[sp:SI+0x18]
85 r0:DF=call [`bar'] argc:0x18
147 r2:DF=[sp:SI+0x30]
86 [sp:SI]=r2:DF
148 r2:DF=[sp:SI+0x40]
87 [sp:SI+0x8]=r2:DF
149 r2:DF=[sp:SI+0x50]
88 [sp:SI+0x10]=r2:DF
89 r0:DF=r4:DF
90 r2:DF=[sp:SI+0x20]
91 r0:DF=call [`bar'] argc:0x18
r0 in 78 should be propagated into 83 and have it DCEd.
But problem is function cselib_hash_rtx treats call_insn un-hashable,
causing r0:DF won't be recorded or propagated.
So why call_insn is not hashed here? Am I missing something?
Thanks very much.
--
Best Regards.
More information about the Gcc
mailing list