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