> On Sep 25, 2020, at 9:55 AM, Martin Liška <mli...@suse.cz> wrote:
>
> PING^5
>
Thanks a lot for ping this patch again.
Hopefully it can be committed into GCC 11 very soon.
Qing
> On 7/21/20 6:24 PM, Qing Zhao wrote:
>> PING^4.
>> Our company is waiting for this patch to be committed to upstream.
>> Thanks a lot.
>> Qing
>>> On Jun 16, 2020, at 7:49 AM, Martin Liška <mli...@suse.cz> wrote:
>>>
>>> PING^3
>>>
>>> On 6/2/20 11:16 AM, Martin Liška wrote:
>>>> PING^2
>>>> On 5/15/20 11:58 AM, Martin Liška wrote:
>>>>> We're in stage1: PING^1
>>>>>
>>>>> On 4/3/20 8:15 PM, Egeyar Bagcioglu wrote:
>>>>>>
>>>>>>
>>>>>> On 3/18/20 10:05 AM, Martin Liška wrote:
>>>>>>> On 3/17/20 7:43 PM, Egeyar Bagcioglu wrote:
>>>>>>>> Hi Martin,
>>>>>>>>
>>>>>>>> I like the patch. It definitely serves our purposes at Oracle and
>>>>>>>> provides another way to do what my previous patches did as well.
>>>>>>>>
>>>>>>>> 1) It keeps the backwards compatibility regarding
>>>>>>>> -frecord-gcc-switches; therefore, removes my related doubts about your
>>>>>>>> previous patch.
>>>>>>>>
>>>>>>>> 2) It still makes use of -frecord-gcc-switches. The new option is only
>>>>>>>> to control the format. This addresses some previous objections to
>>>>>>>> having a new option doing something similar. Now the new option
>>>>>>>> controls the behaviour of the existing one and that behaviour can be
>>>>>>>> further extended.
>>>>>>>>
>>>>>>>> 3) It uses an environment variable as Jakub suggested.
>>>>>>>>
>>>>>>>> The patch looks good and I confirm that it works for our purposes.
>>>>>>>
>>>>>>> Hello.
>>>>>>>
>>>>>>> Thank you for the support.
>>>>>>>
>>>>>>>>
>>>>>>>> Having said that, I have to ask for recognition in this patch for my
>>>>>>>> and my company's contributions. Can you please keep my name and my
>>>>>>>> work email in the changelog and in the commit message?
>>>>>>>
>>>>>>> Sure, sorry I forgot.
>>>>>>
>>>>>> Hi Martin,
>>>>>>
>>>>>> I noticed that some comments in the patch were still referring to
>>>>>> --record-gcc-command-line, the option I suggested earlier. I updated
>>>>>> those comments to mention -frecord-gcc-switches-format instead and also
>>>>>> added my name to the patch as you agreed above. I attached the updated
>>>>>> patch. We are starting to use this patch in the specific domain where we
>>>>>> need its functionality.
>>>>>>
>>>>>> Regards
>>>>>> Egeyar
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Martin
>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Egeyar
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3/17/20 2:53 PM, Martin Liška wrote:
>>>>>>>>> Hi.
>>>>>>>>>
>>>>>>>>> I'm sending enhanced patch that makes the following changes:
>>>>>>>>> - a new option -frecord-gcc-switches-format is added; the option
>>>>>>>>> selects format (processed, driver) for all options that record
>>>>>>>>> GCC command line
>>>>>>>>> - Dwarf gen_produce_string is now used in -fverbose-asm
>>>>>>>>> - The .s file is affected in the following way:
>>>>>>>>>
>>>>>>>>> BEFORE:
>>>>>>>>>
>>>>>>>>> # GNU C17 (SUSE Linux) version 9.2.1 20200128 [revision
>>>>>>>>> 83f65674e78d97d27537361de1a9d74067ff228d] (x86_64-suse-linux)
>>>>>>>>> # compiled by GNU C version 9.2.1 20200128 [revision
>>>>>>>>> 83f65674e78d97d27537361de1a9d74067ff228d], GMP version 6.2.0, MPFR
>>>>>>>>> version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
>>>>>>>>>
>>>>>>>>> # GGC heuristics: --param ggc-min-expand=100 --param
>>>>>>>>> ggc-min-heapsize=131072
>>>>>>>>> # options passed: -fpreprocessed test.i -march=znver1 -mmmx
>>>>>>>>> -mno-3dnow
>>>>>>>>> # -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes
>>>>>>>>> -msha
>>>>>>>>> # -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi
>>>>>>>>> -mno-sgx
>>>>>>>>> # -mbmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mavx2 -msse4.2
>>>>>>>>> -msse4.1
>>>>>>>>> # -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mrdseed
>>>>>>>>> -mprfchw
>>>>>>>>> # -madx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er
>>>>>>>>> -mno-avx512cd
>>>>>>>>> # -mno-avx512pf -mno-prefetchwt1 -mclflushopt -mxsavec -mxsaves
>>>>>>>>> # -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma
>>>>>>>>> -mno-avx512vbmi
>>>>>>>>> # -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mmwaitx -mclzero
>>>>>>>>> -mno-pku
>>>>>>>>> # -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni
>>>>>>>>> # -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri
>>>>>>>>> -mno-movdir64b
>>>>>>>>> # -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32
>>>>>>>>> # --param l1-cache-line-size=64 --param l2-cache-size=512
>>>>>>>>> -mtune=znver1
>>>>>>>>> # -grecord-gcc-switches -g -fverbose-asm -frecord-gcc-switches
>>>>>>>>> # options enabled: -faggressive-loop-optimizations -fassume-phsa
>>>>>>>>> # -fasynchronous-unwind-tables -fauto-inc-dec -fcommon
>>>>>>>>> # -fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining
>>>>>>>>> # -feliminate-unused-debug-types -ffp-int-builtin-inexact
>>>>>>>>> -ffunction-cse
>>>>>>>>> # -fgcse-lm -fgnu-runtime -fgnu-unique -fident -finline-atomics
>>>>>>>>> # -fipa-stack-alignment -fira-hoist-pressure -fira-share-save-slots
>>>>>>>>> # -fira-share-spill-slots -fivopts -fkeep-static-consts
>>>>>>>>> # -fleading-underscore -flifetime-dse -flto-odr-type-merging
>>>>>>>>> -fmath-errno
>>>>>>>>> # -fmerge-debug-strings -fpeephole -fplt -fprefetch-loop-arrays
>>>>>>>>> # -frecord-gcc-switches -freg-struct-return
>>>>>>>>> -fsched-critical-path-heuristic
>>>>>>>>> # -fsched-dep-count-heuristic -fsched-group-heuristic
>>>>>>>>> -fsched-interblock
>>>>>>>>> # -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
>>>>>>>>> # -fsched-spec-insn-heuristic -fsched-stalled-insns-dep
>>>>>>>>> -fschedule-fusion
>>>>>>>>> # -fsemantic-interposition -fshow-column -fshrink-wrap-separate
>>>>>>>>> # -fsigned-zeros -fsplit-ivs-in-unroller -fssa-backprop -fstdarg-opt
>>>>>>>>> # -fstrict-volatile-bitfields -fsync-libcalls -ftrapping-math
>>>>>>>>> -ftree-cselim
>>>>>>>>> # -ftree-forwprop -ftree-loop-if-convert -ftree-loop-im
>>>>>>>>> -ftree-loop-ivcanon
>>>>>>>>> # -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop
>>>>>>>>> # -ftree-reassoc -ftree-scev-cprop -funit-at-a-time -funwind-tables
>>>>>>>>> # -fverbose-asm -fzero-initialized-in-bss -m128bit-long-double -m64
>>>>>>>>> -m80387
>>>>>>>>> # -mabm -madx -maes -malign-stringops -mavx -mavx2
>>>>>>>>> # -mavx256-split-unaligned-store -mbmi -mbmi2 -mclflushopt -mclzero
>>>>>>>>> -mcx16
>>>>>>>>> # -mf16c -mfancy-math-387 -mfma -mfp-ret-in-387 -mfsgsbase -mfxsr
>>>>>>>>> -mglibc
>>>>>>>>> # -mieee-fp -mlong-double-80 -mlzcnt -mmmx -mmovbe -mmwaitx -mpclmul
>>>>>>>>> # -mpopcnt -mprfchw -mpush-args -mrdrnd -mrdseed -mred-zone -msahf
>>>>>>>>> -msha
>>>>>>>>> # -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -msse4a -mssse3 -mstv
>>>>>>>>> # -mtls-direct-seg-refs -mvzeroupper -mxsave -mxsavec -mxsaveopt
>>>>>>>>> -mxsaves
>>>>>>>>>
>>>>>>>>> AFTER:
>>>>>>>>>
>>>>>>>>> # GGC heuristics: --param ggc-min-expand=30 --param
>>>>>>>>> ggc-min-heapsize=4096
>>>>>>>>> # GNU C17 10.0.1 20200317 (experimental) -march=znver1 -mmmx
>>>>>>>>> -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe
>>>>>>>>> -maes -msha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop
>>>>>>>>> -mbmi -mno-sgx -mbmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx
>>>>>>>>> -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c
>>>>>>>>> -mfsgsbase -mrdseed -mprfchw -madx -mfxsr -mxsave -mxsaveopt
>>>>>>>>> -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf
>>>>>>>>> -mno-prefetchwt1 -mclflushopt -mxsavec -mxsaves -mno-avx512dq
>>>>>>>>> -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi
>>>>>>>>> -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mmwaitx -mclzero
>>>>>>>>> -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2
>>>>>>>>> -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg
>>>>>>>>> -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite
>>>>>>>>> -mno-avx512bf16 -mno-enqcmd -mno-avx512vp2intersect
>>>>>>>>> --param=l1-cache-size=32 --param=l1-cache-line-size=64
>>>>>>>>> --param=l2-cache-size=512 -mtune=znver1 -g
>>>>>>>>>
>>>>>>>>> That's the biggest change I made, but I hope it's acceptable.
>>>>>>>>> Apart from that the patch simplifies and unifies places where
>>>>>>>>> save_decoded_options
>>>>>>>>> options are transformed back to string representation.
>>>>>>>>>
>>>>>>>>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>>>>>>>>
>>>>>>>>> Ready to be installed in next stage1?
>>>>>>>>> Thanks,
>>>>>>>>> Martin
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>
>