Bug 41606 - Not all types are fixed up
Summary: Not all types are fixed up
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: lto (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: ---
Assignee: Richard Biener
URL:
Keywords: memory-hog, wrong-code
Depends on:
Blocks:
 
Reported: 2009-10-06 15:48 UTC by Richard Biener
Modified: 2014-07-11 11:22 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2009-10-07 09:50:11


Attachments
patch for debugging (807 bytes, patch)
2009-10-06 15:49 UTC, Richard Biener
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2009-10-06 15:48:01 UTC
Not all types of the IL and its trees are fixed up by lto_fixup_decls as can
be seen by attached patch.
Comment 1 Richard Biener 2009-10-06 15:49:22 UTC
Created attachment 18726 [details]
patch for debugging
Comment 2 Richard Biener 2009-10-07 09:50:11 UTC
I am looking into this.
Comment 3 Richard Biener 2009-10-07 14:57:37 UTC
It's mostly

 a) target specific builtin types and decls that do not get fixed up

 b) LTO (or rather generic) builtin functions and types not get fixed up

 c) the tree.c local canonical type machinery that isn't giving the same
    answer as gimple_register_type () does.

with that "fixed" the sanity-checking patch works fine.

For a more proper patch I have to think about the tree.c type hashing
and unification some more.
Comment 4 Richard Biener 2014-07-11 11:22:26 UTC
Fixed in 4.9 with SCC merging.