This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/29478] [4.2/4.3 Regression] optmization generates warning for casts
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Oct 2006 13:50:52 -0000
- Subject: [Bug middle-end/29478] [4.2/4.3 Regression] optmization generates warning for casts
- References: <bug-29478-11533@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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