On Thu, May 5, 2011 at 1:03 PM, Diego Novillo <dnovi...@google.com> wrote: > On Thu, May 5, 2011 at 05:06, Richard Guenther > <richard.guent...@gmail.com> wrote: > >> I think we should move away from pre-loading the streamer cache, that >> has caused enough trouble when the common nodes are originating from >> different Frontends and when compiling units with different flags which >> happen to change those nodes (think of the hoops we jump through >> to support that for -f[un]signed-char). > > Sure, though that's not an issue for pph. PPH images are generated > and consumed by one front end. > > Pre-loading common nodes in C++ gives us: > > 1- Smaller pph images > 2- Ability to do pointer comparison against common nodes. > > #1 saves us from saving a few hundred nodes in each pph image. But #2 > is a stronger requirement. How do you think we could do #2 without > pre-loading?
For LTO we have type-merging for that, and we'd continue to pre-load the type merger with the (LTO frontend specific) common tree nodes. I suppose you are not doing any merging at all? If so pre-loading those nodes makes indeed sense (given you have a way to reject PPH images when flags such as -f[un]signed-char differ ...). Richard. > > Diego. >