alias sets and the vptr
Richard Henderson
rth@cygnus.com
Mon Oct 5 23:11:00 GMT 1998
Alpha is currently a good fraction of the C++ tests because __rtti_user
was miscompiled:
lda $2,__vt_9type_info
lda $1,__vt_16__user_type_info
stq $17,0($16)
stq $1,8($16)
stq $2,8($16)
Note that the vtable stores are reversed. The problem is the
alias sets for the two mems:
(mem/s:DI (plus:DI (reg/v:DI 69)
(const_int 8)) 9)
(mem/s:DI (plus:DI (reg/v:DI 69)
(const_int 8)) 24)
I suppose what will have to happen is that all vptrs for the
classes in a given tree will have to share an alias set, or
at minimum have all vptrs everywhere share an alias set.
I'll leave such a change in the hands of someone significantly
more familiar with the C++ front end.
r~
More information about the Gcc-bugs
mailing list