This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Canonical type nodes, or, comptypes considered harmful
Ian Lance Taylor <iant@google.com> writes:
| kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:
|
| > > My conclusion at the end was, the best speed up possible, isn't to
| > > mess with the callers, but rather, to get types canonicalized, then
| > > all the work that comptypes would normally do, hopefully, just all
| > > goes away. Though, in the long run those quadratic algorithms have to
| > > one day die, even if comptypes is fixed.
| >
| > My confusion here is how can you "canonicalize" types that are different
| > (meaning have different names) without messing up debug information.
| > If you have:
| >
| > Foo xyz;
| >
| > and you display xyz in the debugger, it needs to say it's type "Foo", not
| > some similar-but-differently-named type.
| >
| > Or maybe this is C++-specific and isn't relevant in C, so I'm not going to
| > understand it.
|
| The way to canonicalize them is to have all equivalent types point to
| a single canonical type for the equivalence set. The comparison is
| one memory dereference and one pointer comparison, not the current
| procedure of checking for structural equivalence.
Yes, exactly.
-- Gaby
- References:
- Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful
- Re: Canonical type nodes, or, comptypes considered harmful