This is the mail archive of the gcc-patches@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: [LTO][PATCH] Fix WPA breakage


I know what causes the problem.  The inter-procedural constant
propagation pass generates summary information about indirect calls.
Currently we do not write out this summary.  It is regenerated in the
normal LTO run.  When we run WPA, regenerating that information is not
possible because the function bodies are not present in memory.  So we
do have that piece of information.  The crash you see is caused by the
IPA inliner when it tries to copy the indirect-call summary of edges
and nodes.

Since LTRAN can regenerate the information, for now, we can simply
skip any manipulation of that summary.

-Doug

2008/9/25 Ollie Wild <aaw@google.com>:
> 2008/9/24 Doug Kwan (Ãö®¶¼w) <dougkwan@google.com>
>>
>> Hi,
>>
>>    This patch fixes a problem spotted by Ollie.  We missed one of the
>> flags when streamming out cgraph edges.
>
> FYI, even with this patch applied, the test case I sent out earlier is
> failing:
>
>
> ~/src/gcc/tst> cat a.h
> int f (void);
> ~/src/gcc/tst> cat a.c
> #include "a.h"
>
> int f (void)
> {
> return 23;
> }
> ~/src/gcc/tst> cat main.c
> #include "a.h"
>
> int main (int argc, char **argv)
> {
> return f ();
> }
> ~/src/gcc/tst> ../install/bin/gcc -flto -c main.c
> ~/src/gcc/tst> ../install/bin/gcc -flto -c a.c
> ~/src/gcc/tst> ../install/bin/gcc -xlto -fwpa -combine main.o a.o
> lto1: internal compiler error: vector VEC(ipa_edge_args_t,base) index domain
> error, in update_call_notes_after_inlining at ipa-prop.c:901
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.

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