------- Comment #9 from amylaar at gcc dot gnu dot org 2006-10-24 13:50 ------- (In reply to comment #8) > Hmm, This is one of the language hooks which really need to go away > for LTO as I understand it. Also I the real problem comes from the > inliner or the gimplifier (I am betting the gimplifier) removing the > cast as it is useless in our type system.
How is LTO supposed to handle argument passing for inlining? As I see it, we have basically two choices: 1.: We pass a actual parameter with a type and a value of that type, to a formal parameter of a possibly different type. This can require conversions, which would have to be either done by frontend hooks (this is the way the intra-module inlining works at the moment), or by some frontend-independent mechanism that the frontends anticipate when they generate the parameter encodings for the call site. 2.: We pass an actual parameter as bit pattern in registers and/or a stack slot. The inliner will have to figure out where its formal parameter is coming in, and will need to re-build abstractions that the optimizers can work with. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478