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
>>>>>> 
>>>>> 
>>>> 
>>> 
> 

Reply via email to