On Wed, 11 Jan 2017, Richard Biener wrote: > > WPA re-streams packed function bodies as-is, so anything referred to > > from within just the body won't be subject to mode remapping; I think > > only modes of toplevel declarations and functions' arguments will be > > remapped. And I believe it wouldn't be acceptable to unpack/remap/repack > > function bodies at WPA stage (it's contrary to LTO scalability goal). > > Yes indeed. But this means the mode-maps have to be per function > section (with possibly a way to "share" them?). Or we need a way > to annotate function sections with "no need to re-map" as the > native nvptx sections don't need remapping and the others all use > the same map?
Right, the latter: we know that sections coming from the native compiler already have the right modes and thus need no remapping, and the sections coming from the host compiler all need remapping (and will use the same mapping). Prefixes of per-function section names already carry the distinction (".gnu.lto_foo" vs. ".gnu.offload_lto_foo"). Alexander