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] |
On Thu, Oct 2, 2014 at 10:13 PM, Vladimir Makarov <vmakarov@redhat.com> wrote: >>>> I guess we achieved the consensus about the following patch to fix >>>> PR61360 >>>> >>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61360 >>>> >>>> The patch was successfully bootstrapped and tested (w/wo >>>> -march=amdfam10) on x86/x86-64. >>>> >>>> Is it ok to commit to trunk? >>> >>> >>> I've tested your patch and unfortunately it doesn't work: >>> >>> In file included from >>> /var/tmp/moz-build-dir/js/src/shell/Unified_cpp_js_src_shell0.cpp:15:0: >>> /var/tmp/mozilla-central/js/src/shell/js.cpp: In function âvoid >>> Process(JSContext*, JSObject*, const char*, bool)â: >>> /var/tmp/mozilla-central/js/src/shell/js.cpp:592:1: internal compiler >>> error: in lra_update_insn_recog_data, at lra.c:1221 >>> } >>> ^ >>> 0xa9d9ec lra_update_insn_recog_data(rtx_insn*) >>> ../../gcc/gcc/lra.c:1220 >>> 0xab450f eliminate_regs_in_insn >>> ../../gcc/gcc/lra-eliminations.c:1077 >>> 0xab450f process_insn_for_elimination >>> ../../gcc/gcc/lra-eliminations.c:1344 >>> 0xab450f lra_eliminate(bool, bool) >>> ../../gcc/gcc/lra-eliminations.c:1408 >>> 0xa9f2da lra(_IO_FILE*) >>> ../../gcc/gcc/lra.c:2270 >>> 0xa5d659 do_reload >>> ../../gcc/gcc/ira.c:5311 >>> 0xa5d659 execute >>> ../../gcc/gcc/ira.c:5470 >> >> >> Testcase is attached: >> >> % g++ -c -march=amdfam10 -w -O2 js.ii >> js.ii: In function âvoid RunFile(C)â: >> js.ii:64:1: internal compiler error: in lra_update_insn_recog_data, at >> lra.c:1221 >> > > Thanks for reporting this, Marcus. The problem now is in > optimize_function_for_size_p. It is false, when we define and cache enable > attributes at early stages (instantation of virtual regs) and true later. > > It is returning us to the same problem. I believe that we should not have > enable attributes depending on optimization options or on the current > running pass if we don't want the current solution in the trunk (with > recog_init). Setting right value for optimize_function_for_size_p does not > solve the problem as we can have different options for different functions > in the same compilation file. > > So minimal solution would be removing optimize_function_for_size_p from the > attribute definition. But I guess we could remove all condition. > Unfortunately, Ganesh did not post is it really beneficial to switch off > this alternative for AMD CPUs even if AMD optimization guide recommends it. I propose to split the pattern into size-optimized and normal pattern. The patch implements this proposal. Uros.
Attachment:
p.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |