This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: java method calls and GIMPLE


Tom Tromey wrote:
"Ian" == Ian Lance Taylor <iant@google.com> writes:

Ian> But note that IPA via LTO is not going to permit callbacks into the Ian> front end, because there isn't going to be a front end. So the Ian> information needs to be represented in GIMPLE somewhere.

Unfortunately there are lots of unsolved problems here, namely what
the type system will look like.  My current devirtualization pass
relies on facts about the java type system in order to do its work.

To make LTO work, we're going to want to understand what facts you need, and then get them passed on to LTO. If we can get a GIMPLE pass that can do what we need, then we're most of the way there.


And unless I'm mistaken there are even simpler LTO problems that
remain unsolved -- e.g., gcj sets flag_wrapv, but it seems to me that
this would have to be a flag on operations rather than a global for
LTO to be truly language independent.

Sure, we've got to fix that. Want to help? :-) No question there's a long row to hoe, here. I would hope that we could start with a devirtualization pass on GIMPLE, using langhooks if necessary, and gradually migrate that to work with LTO. I certainly wouldn't argue that we should wait for LTO to be done to tackle devirtualization.


--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]