เบซเบผเบฑเบเบเบฒเบเบเบตเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
GCC 9.1 เปเบเบฑเบเบเบตเปเปเบเบเปเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเบฐเบเบฝเบเบฅเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบกเบฒเบเบเบฐเบเบฒเบ C ++17, เบชเบทเบเบเปเปเบเบฐเบเบดเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบกเบฒเบเบเบฐเบเบฒเบ C ++ 20 เปเบเบญเบฐเบเบฒเบเบปเบ (เบฅเบฐเบซเบฑเบเบเบทเป C ++ 2a), เบเบฒเบเบฅเบงเบกเบขเบนเปเปเบเบซเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ D, เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบชเปเบงเบเบชเปเบฒเบฅเบฑเบ OpenMP 5.0 , เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบทเบญเบเบชเบปเบกเบเบนเบเบชเปเบฒเบฅเบฑเบ OpenACC 2.5, เปเบเบตเปเบกเบเบฐเบงเบตเบเบฒเบเบเบฐเบซเบเบฒเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ interprocedural เปเบฅเบฐเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบนเบเบกเบฑเบ, เบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบงเบเบญเบเปเบเบทเปเบญเบเบกเบทเบเบฒเบเบงเบดเบเบดเบเปเบชเปเบฅเบฐเบเบฒเบเปเบเบตเปเบกเบเปเบฒเปเบเบทเบญเบเปเบซเบกเป, backends เบชเปเบฒเบฅเบฑเบ OpenRISC, C-SKY V2 เปเบฅเบฐ AMD GCN GPU.
เบเบปเปเบโเบเป
- เปเบเบตเปเบกเบเบฒเบเบฎเบญเบเบฎเบฑเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก D. GCC เบเบฐเบเบญเบเบกเบต frontend เบเบฑเบ compiler
GDC (Gnu D Compiler) เปเบฅเบฐเบซเปเบญเบเบชเบฐเบซเบกเบธเบ runtime (libphobos) เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเป GCC เบกเบฒเบเบเบฐเบเบฒเบเปเบเบทเปเบญเบชเปเบฒเบเปเบเบผเปเบเบผเบกเปเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก D. เบเบฐเบเบงเบเบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบชเบฒ D เปเบ GCCเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเปเบง เบเบฑเบเบเบทเบเปเบเบเปเบญเบเปเบเบเบต 2011, เปเบเปเบฅเบฒเบเปเบ เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบญเบปเบฒเบฅเบฐเบซเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเปเปเบเปเบฒเบเบปเบเบเบญเบ GCC เปเบฅเบฐเบเบฑเบเบซเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบญเบเบชเบดเบเบเบดเบเบฑเบเบชเบดเบเบเบฒเบเบเบฑเบเบเบฒเบเบฑเบ Digital Mars, เปเบเบดเปเบเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบก D; - เบเบฒเบเบเบฑเบเบเบธเบเปเบเปเบเบทเบเปเบฎเบฑเบเบเบฑเบเปเบเบทเปเบญเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบ. เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเปเบฒเปเบเปเบเบธเบเบเบฐเบชเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบญเบ Switch (เบเบฒเบเบฐเบฅเบฒเบเปเบเบฑเปเบเปเบเบซเบฒ, เบเบฒเบเบเบปเบเบชเบญเบเบเบดเบ, เบเบปเปเบเปเบกเปเบเบฒเบเบเบฑเบเบชเบดเบเปเบ) เบเบถเปเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ. เปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบฑเบเบเบฑเบเปเบชเบฑเปเบเบเบทเปเบเบตเปเบเบฐเบเบญเบเบกเบตเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบญเบ Switch เปเบเบเปเบเปเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ "-ftree-switch-conversion" (เบเบปเบงเบขเปเบฒเบ, เบเบธเบเปเบเบทเปเบญเบเปเบเปเบเบฑเปเบ "เบเปเบฅเบฐเบเบต 2: how = 205; break; case 3: how = 305; break. ;โ เบเบฐเบเบทเบเบเปเบฝเบเปเบเบฑเบ "100 * เบงเบดเบเบต + 5";
- เบเบฑเบเบเบธเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ interprocedural. เบเบฒเบเบเบฑเปเบเบเปเบฒ inline deployment เปเบเปเบเบทเบเบเบฑเบเปเบเบเบชเปเบฒเบฅเบฑเบ codebases C++ เบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบฅเบฐเบเบฐเบซเบเบฒเบเบเปเบงเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบซเบกเป max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns เปเบฅเบฐ uninlined -thunk-time. เบเบฑเบเบเบธเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบงเบฒเบกเบฎเบธเบเบฎเบฒเบเบเบญเบเบเบฒเบเปเบเบเบฅเบฐเบซเบฑเบเปเบขเบฑเบ / เบฎเปเบญเบ. เบเบฑเบเบเบธเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบซเบผเบฒเบ
เบซเบเปเบงเบโเบเบฒเบโเบเบฒเบโเปเบโเบเบฒโเบชเบฒโ (เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเปเบฒเปเบเปเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเปเบเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเป); - เบเบปเบเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบฅเบฐเบซเบฑเบ profile (PGO - Profile-guided optimization) เปเบเปเบเบทเบเบเบฑเบเบเบธเบ, เปเบเบดเปเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเปเบเบเบญเบตเบเปเบชเปเบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ. เบเบปเบงเปเบฅเบทเบญเบเบชเบฐเบซเบผเบธเบ "
-fprofile-เปเบเป " เบเบญเบเบเบตเปเบเบฐเบเบญเบเบกเบตเบฎเบนเบเปเบเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ "-fversion-loops-for-strides", "-floop-interchange", "-floop-unroll-and-jam" เปเบฅเบฐ "-ftree-loop-distribution". เบเบญเบเปเบญเบปเบฒเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒ histograms เบเบฑเบ counters เปเบเปเบเบฅเป, เปเบเบดเปเบเบซเบผเบธเบเบฅเบปเบเบเบฐเบซเบเบฒเบเบเบญเบเปเบเบฅเปเบเบตเปเบกเบตเปเบเบฃเปเบเบฅเป (histograms เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป); - เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบงเบฅเบฒเปเบเบทเปเบญเบกเบเปเป (LTO). เบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบเบญเบเบเบฐเปเบเบเปเบเปเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเปเบเปเบญเบเบเบตเปเบเบฐเบชเปเบฒเบเบเบปเบเปเบเปเบฎเบฑเบ, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเปเบเบฅเปเบงเบฑเบเบเบธ LTO เบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ, เบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเปเบฅเบดเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบนเบเบกเบฑเบ, เปเบฅเบฐเบเบฑเบเบเบธเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ. เบเปเบฒเบเบงเบเบเบญเบเบเบฒเบเปเบเปเบเบชเปเบงเบ (-param lto-partitions) เปเบเปเบเบทเบเปเบเบตเปเบกเบเบถเปเบเบเบฒเบ 32 เปเบเบฑเบ 128, เปเบเบดเปเบเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบฅเบฐเบเบปเบเบเบตเปเบกเบตเบเปเบฒเบเบงเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเบเบฐเบเบนเป CPU. เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบทเปเบญเบเบงเบเบเบธเบกเบเปเบฒเบเบงเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบ optimizer
"-param lto-max-streaming-parallelism";เบเบฑเปเบเบเบฑเปเบ, เปเบกเบทเปเบญเบเบฝเบเบเบฝเบเบเบฑเบ GCC 8.3, เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบตเปเบ GCC 9
เบญเบฐเบเบธเบเบฒเบ เบซเบผเบธเบเปเบงเบฅเบฒเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบเบเบญเบ Firefox 5 เปเบฅเบฐ LibreOffice 66 เบเบฐเบกเบฒเบ 6.2.3%. เบเบฐเบซเบเบฒเบเบเบญเบเปเบเบฅเปเบงเบฑเบเบเบธเบซเบผเบธเบเบฅเบปเบ 7%. เปเบงเบฅเบฒเบเบนเบเบกเบฑเบเปเบ CPU 8-core เบซเบผเบธเบเบฅเบปเบ 11%. เบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบกเบฅเปเบฒเบเบฑเบเบเบญเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบกเปเบเปเบงเบเบถเปเบ 28% เปเบฅเบฐเปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบเปเบญเบเบฅเบปเบ 20%. เบเบฒเบเบเปเบฅเบดเปเบเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบญเบเปเบเปเบฅเบฐเปเบเปเบเบเปเบเบตเบเบญเบเบเบฑเปเบเบเบญเบเบเบฐเบซเบเบฒเบเบเบญเบ LTO เบซเบผเบธเบเบฅเบปเบ 30%; - เบชเปเบงเบเปเบซเบเปเบเบญเบเบเบฒเบเบเปเบฒเบเบปเบเปเบเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C, C ++ เปเบฅเบฐ Fortran
OpenACC 2.5 , เปเบเบดเปเบเบเปเบฒเบเบปเบเปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ offloading เปเบ GPUs เปเบฅเบฐเปเบเปเบเบเปเบเบตเบเบดเปเบชเบเปเบเบฑเปเบ NVIDIA PTX; - เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบชเปเบงเบเบชเปเบฒเบฅเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบ C เปเบฅเบฐ C ++
เปเบเบตเบ MP 5.0 (Open Multi-Processing), เปเบเบดเปเบเบเบณเบเบปเบ API เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบณเปเบเปเบงเบดเบเบตเบเบฒเบเบเบฝเบเปเบเบฃเปเบเบฃเบกเปเบเบเบเบฐเปเบฒเบเบชเบณเบฅเบฑเบเบเบฒเบชเบฒ C, C++ เปเบฅเบฐ Fortran เปเบเบฅเบฐเบเบปเบเบซเบผเบฒเบเบซเบผเบฑเบ เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฐเบชเบปเบก (CPU+GPU/DSP) เบเบตเปเบกเบตเปเปเบงเบเบเบงเบฒเบกเบเบณเบฎเปเบงเบกเบเบฑเบ เปเบฅเบฐ vectorization (SIMD) ; - เบเบฒเบเปเบเบทเบญเบเปเบเปเบซเบกเปเปเบเปเบเบทเบเปเบเบตเปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C: "
-Waddress-of-packed-เบชเบฐเบกเบฒเบเบดเบ " (เบเปเบฒเบเบปเบงเบเบตเป unaligned เบเบฑเบเบชเบฐเบกเบฒเบเบดเบเบเบฑเบเบเบธเบเบญเบเปเบเบเบชเปเบฒเบเบซเบผเบทเบชเบฐเบซเบฐเบเบฑเบ) เปเบฅเบฐ
ยซ-Wabsolute-value " (เปเบกเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเบเบฑเบเบเบฑเบเบชเบณเบฅเบฑเบเบเบฒเบเบเบณเบเบงเบเบเปเบฒเบขเปเบฒเบเปเบเปเบเบดเบ, เบเปเบฒเบกเบตเบเบฑเบเบเบฑเบเบเบตเปเปเปเบฒเบฐเบชเบปเบกเบเบงเปเบฒเบชเบณเบฅเบฑเบเบญเบฒเบเบดเบงเปเบกเบฑเบเบเบตเปเบเบณเบเบปเบเปเบงเป, เบเบปเบงเบขเปเบฒเบ, fabs(3.14) เบเบงเบเปเบเปเปเบเบ abs(3.14). เปเบเบตเปเบกเบเบฒเบเปเบเบทเบญเบเปเบเปเปเปเบชเบณเบฅเบฑเบ C++: "-Wdeprecated-copy",
"-Winit-list-lifetime", "-Wredundant-move", "-Wpessimizing-move" เปเบฅเบฐ "-Wclass-conversion". เบเบฒเบเปเบเบทเบญเบเปเบเบเบตเปเบกเบตเบขเบนเปเบเปเบญเบเบซเบเปเบฒเบเบตเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเปเบเปเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบ; - เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบปเบเบฅเบญเบเบชเปเบฒเบฅเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบกเบฒเบเบเบฐเบเบฒเบเบเบฒเบชเบฒ C เปเบเบญเบฐเบเบฒเบเบปเบ, เบฅเบฐเบซเบฑเบเบเบทเป C2x. เปเบเบทเปเบญเปเบเบตเบเปเบเปเบเบฒเบเบฎเบญเบเบฎเบฑเบ C2x, เปเบเปเบเบปเบงเปเบฅเบทเบญเบ "-std=c2x" เปเบฅเบฐ "-std=gnu2x" (เปเบเบทเปเบญเปเบเบตเบเปเบเปเบชเปเบงเบเบเบฐเบซเบเบฒเบ GNU). เบกเบฒเบเบเบฐเบเบฒเบเบเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบปเปเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ, เบเบฑเปเบเบเบฑเปเบ, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบกเบฑเบ, เบเบฝเบเปเบเปเบเบฒเบเบชเบฐเปเบเบเบญเบญเบ _Static_assert เบเบตเปเบกเบตเบเบฒเบเปเบเปเบเบฝเบเบซเบเบถเปเบเปเบกเปเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ (_Static_assert เบเบฑเบเบชเบญเบ arguments เปเบกเปเบเบกเบฒเบเบเบฐเบเบฒเบเปเบ C11);
- เบฎเบญเบเบฎเบฑเบเบกเบฒเบเบเบฐเบเบฒเบ C++17 เปเบเปเบเบทเบเบเบฐเบเบฒเบเบงเปเบฒเบกเบตเบเบงเบฒเบกเปเบฑเปเบเบเบปเบ. เปเบเบเปเบฒเบเบซเบเปเบฒ, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบฒเบเบเปเบฒเบเบเบฒเบชเบฒเบเบญเบ C ++17 เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเปเบเบฑเบกเบชเปเบงเบ, เปเบฅเบฐเปเบ libstdc ++, เบซเบเปเบฒเบเบตเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบกเบฒเบเบเบฐเบเบฒเบเปเบกเปเบเบขเบนเปเปเบเปเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเป;
- เบชเบทเบเบเปเป
เบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบ เบญเบปเบเบเบฐเบเบญเบเบเบญเบเบกเบฒเบเบเบฐเบเบฒเบ C++2a เปเบเบญเบฐเบเบฒเบเบปเบ. เบเบปเบงเบขเปเบฒเบ, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเบเบญเบเปเบเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบเบทเบเปเบเบตเปเบก, เบชเปเบงเบเบเบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบ lambda เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบชเบฐเบกเบฒเบเบดเบเบเบตเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเบเบญเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบญเบฒเบเบเบฐ / เบญเบฒเบเบเบฐเบเปเปเบเบทเบเปเบเบตเปเบก, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบ virtual เปเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเปเบเปเบเปเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเป. , เปเบฅเบฐเบญเบทเปเบเป.
เปเบเบทเปเบญเปเบเบตเบเปเบเปเบเบฒเบเบฎเบญเบเบฎเบฑเบ C++2a, เปเบซเปเปเบเปเบเบปเบงเปเบฅเบทเบญเบ "-std=c++2a" เปเบฅเบฐ "-std=gnu++2a". เปเบเบตเปเบกเปเบเบฅเปเบชเปเบงเบเบซเบปเบงเบเบดเบ เปเบฅเบฐเปเบงเบตเบเบฑเบเปเบชเป libstdc++ เบชเบณเบฅเบฑเบ C++2a, std::remove_cvref, std::unwrap_reference, std::unwrap_decay_ref, std::is_nothrow_convertible เปเบฅเบฐ std::type_identity traits, std::midpoint, std::lerps , std::bind_front,
std::visit, std::is_constant_evaluated เปเบฅเบฐ std::assume_aligned, เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ char8_t, เบเบฐเบเบดเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบงเบเบชเบญเบเบเปเบฒเบเปเบฒเบซเบเปเบฒเปเบฅเบฐเบเปเบฒเบเปเปเบเปเบฒเบเบเบญเบ strings (starts_with, ends_with); - เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบเปเบเบเปเบเบต ARM เปเบซเบกเป
Cortex-A76, Cortex-A55, Cortex-A76 DynamIQ big.LITTLE เปเบฅเบฐ Neoverse N1. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบตเปเบ Armv8.3-A เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบปเบงเปเบฅเบเบเบฑเบเบเปเบญเบ, เบเบฒเบเบชเปเบฒเบเบเปเบฒเบเบงเบ pseudo-random number (rng) เปเบฅเบฐเบเบฒเบ tagging เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ (memtag), เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบเบฑเบเบเบฑเปเบเบเบฒเบเปเบเบกเบเบตเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบปเบฒเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบซเบเปเบงเบเบเบฒเบเบเบฒเบเบเบฐเปเบเบชเบฒเบเบฒ. . เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ AArch64, เบฎเบนเบเปเบเบเบเบฒเบเบเปเบญเบเบเบฑเบเปเบเปเบเบทเบเปเบเบตเปเบกเบเบฒเบเบเบฑเบเบเบญเบ stack เปเบฅเบฐ heap (โ-fstack-clash-protectionโ). เปเบเบทเปเบญเปเบเปเบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณ Armv8.5-A, เบเบฒเบเปเบฅเบทเบญเบ โ-march=armv8.5-aโ เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒ. - เบกเบฑเบเบเบฐเบเบญเบเบกเบต backend เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบ AMD GPUs เปเบเบเบญเบตเบเปเบชเปเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบธเบฅเบฐเบเบฒเบ GCN. เบเบฐเบเบธเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบเบทเบเบเปเบฒเบเบฑเบเบเบฝเบเปเบเปเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเบเบฐเบเบนเปเบเบฝเบง (เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบดเบเปเบฅเปเบซเบผเบฒเบเบเบฐเบเบนเปเบเปเบฒเบ OpenMP เปเบฅเบฐ OpenACC เบเบฐเบเบทเบเบชเบฐเปเบซเบเบตเบเปเปเบกเบฒ) เปเบฅเบฐเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ GPU Fiji เปเบฅเบฐ Vega 10;
- เปเบเบตเปเบก backend เปเบซเบกเปเบชเปเบฒเบฅเบฑเบเปเบเปเบเบเปเบเบต
OpenRISC ; - เปเบเบตเปเบก backend เบชเปเบฒเบฅเบฑเบเปเบเปเบเบเปเบเบต
C-SKY V2 , เบเบฐเบฅเบดเบเปเบเบเบเปเบฅเบดเบชเบฑเบเบเบตเบเบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบเบเบนเปเบเปเบฅเบดเปเบเบเบเปเบฒเบเป; - เบเบปเบงเปเบฅเบทเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเปเบฒ byte เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ suffixes kb, KiB, MB, MiB, GB เปเบฅเบฐ GiB;
-
เบเบฐเบเบดเบเบฑเบ เบเบปเบงเปเบฅเบทเบญเบ โ-flive-patching=[inline-only-static|inline-clone]โ เบเปเบงเบเปเบซเปเบเปเบฒเบเบเบฑเบเบฅเบธเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบตเปเบเบญเบเปเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเบเบฑเบเบเบปเบงเปเบเบเบชเบปเบเปเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบงเบเบเบธเบกเบซเบผเบฒเบเบฅเบฐเบเบฑเบเบเปเปเบเบฒเบเบเปเบฒเปเบเปเบฅเบฐเบซเบงเปเบฒเบเบเบฑเปเบเบเบญเบ (IPA ) เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ; - เปเบเบตเปเบกเบเบฒเบเปเบฅเบทเบญเบ "--completion" เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบฎเบนเบเบเบฒเบเปเบฅเบทเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเป bash;
- เปเบเบทเปเบญเบโเบกเบทโเบงเบดโเบเบดเบโเปเบชโเบชเบฐโเบซเบเบญเบโเบเบฒเบโเบชเบฐโเปเบเบโเบเบญเบ excerpts เปเบซเบผเปเบโเบเปเปโเบเบงเบฒเบกโเบเบตเปโเบเบตเปโเบเบญเบโเบเปเบฒโเบเบงเบโเปเบชเบฑเปเบโเปเบฅเบฐโเบเบฒเบโเบชเบฐโเปเบเบโเปเบซเปโเปเบซเบฑเบโเบเปเปโเบกเบนเบโเบเบตเปโเบเปเบฝเบงโเบเปเบญเบโ, เปเบเบฑเปเบโ: เบเบฐโเปเบเบ operandโ. เปเบเบทเปเบญเบเบดเบเบเบฒเบเบชเบฐเปเบเบเบเบปเบงเปเบฅเบเปเบเบง เปเบฅเบฐเบเปเบฒเบเบเบทเป, เบเบฒเบเปเบฅเบทเบญเบ โ-fno-diagnostics-show-line-numbersโ เปเบฅเบฐ โ-fno-diagnostics-show-labelsโ เปเบกเปเบเปเบซเป;
-
เบเบฐเบซเบเบฒเบ เปเบเบทเปเบญเบโเบกเบทโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบงเบดโเบเบดเบโเปเบชโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเปเบโเบฅเบฐโเบซเบฑเบ C ++โ, เบเบฒเบโเบเบฑเบโเบเบธเบโเบเบฒเบโเบญเปเบฒเบโเบเปเปโเบกเบนเบโเบเปเบฝเบงโเบเบฑเบโเบชเบฒโเปเบซเบโเบเบญเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเปเบฅเบฐโเบเบฒเบโเปเบเบฑเปเบโเบเบปเบงโเบเปเบฒโเบเบปเบโเบเบฒเบโเบเบตเปโเปเบเบฑเบโเบเบฑเบโเบซเบฒโ; - เปเบเบตเปเบกเบเบฒเบเปเบฅเบทเบญเบ โ-fdiagnostics-format=jsonโ, เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบชเปเบฒเบเบเบปเบเบเบฒเบเบงเบดเบเบดเบเปเบชเปเบเบฎเบนเบเปเบเบเบเบตเปเปเบเบทเปเบญเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเป (JSON);
- เปเบเบตเปเบกเบเบปเบงเปเบฅเบทเบญเบเบเบฒเบเบชเปเบฒเบเปเบเบฃเปเบเบฅเปเปเปเป โ-fprofile-filter-filesโ เปเบฅเบฐ โ-fprofile-exclude-filesโ เปเบเบทเปเบญเปเบฅเบทเบญเบเปเบเบฅเปเปเบซเบผเปเบเบเบตเปเบเบฐเบเบทเบเบเบฐเบกเบงเบเบเบปเบ;
- AddressSanitizer เบชเบฐเบซเบเบญเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบขเบทเบเบขเบฑเบเบเบตเปเบซเบเบฒเปเบซเบเปเบเบเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบเบปเบงเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เปเบเบดเปเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเปเบฅเบดเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเปเบเบฅเปเบเบตเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเบเบทเบเบเบงเบเบชเบญเบ;
- เบเบฒเบเบเบฑเบเบเบธเบเบเบปเบเบเบฐเบฅเบดเบเปเบ "
-fopt-info ยป (เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบตเปเบก). เปเบเบตเปเบกเบเปเบฒเบเปเบฒเบซเบเปเบฒเปเบซเบกเป "optimized" เปเบฅเบฐ "missed", เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบเบเปเบฒเบเปเบฒเบซเบเปเบฒเบเบตเปเบกเบตเบขเบนเปเบเปเบญเบเบซเบเปเบฒเบเบตเป "เบซเบกเบฒเบเปเบซเบ". เปเบเบตเปเบกเบเบปเบเบเบฐเบฅเบดเบเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบ inline-unfolding เปเบฅเบฐ vectorization เบเบญเบเบงเบปเบเบเบญเบ; - เปเบเบตเปเบกเบเบปเบงเปเบฅเบทเบญเบ โ-fsave-optimization-recordโ, เปเบกเบทเปเบญเบฅเบฐเบเบธเปเบงเป, GCC เบเบฐเบเบฑเบเบเบถเบเปเบเบฅเป SRCFILE.opt-record.json.gz เบเปเบงเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเบขเปเบฒเบ. เบเบฒเบเปเบฅเบทเบญเบเปเบซเบกเปเปเบเบเบเปเบฒเบเบเบฒเบเบฎเบนเบเปเบเบ "-fopt-info" เปเบเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒ metadata เปเบเบตเปเบกเปเบเบตเบก, เปเบเบฑเปเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเบฃเปเบเบฅเปเปเบฅเบฐเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป inline;
- เปเบเบตเปเบกเบเบปเบงเปเบฅเบทเบญเบ โ-fipa-stack-alignmentโ เปเบฅเบฐ โ-fipa-reference-addressableโ เปเบเบทเปเบญเบเบงเบเบเบธเบกเบเบฒเบเบเบฑเบเบงเบฒเบ stack เปเบฅเบฐเบเบฒเบเปเบเปเบฎเบนเบเปเบเบเบเบตเปเบขเบนเป (เบเบฝเบเปเบเบปเปเบฒเบเบฑเปเบ เบซเบผเบทเบญเปเบฒเบ-exact) เบชเปเบฒเบฅเบฑเบเบเบปเบงเปเบเบเบปเบเบเบตเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ interprocedural;
- เบซเบเปเบฒเบเบตเปเบชเปเบฒเบเปเบซเบกเปเปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเปเบเบทเปเบญเบเบงเบเบเบธเบกเบเบฒเบเบเบนเบเบกเบฑเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฒเบเบเบฐเปเบเบชเบฒเบเบฒเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบฒเบเปเบเบปเบฒ: "
__builtin_has_attribute ยซ, ยซ__builtin_expect_with_probability "เปเบฅเบฐ"__builtin_speculation_safe_value ". เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเปเบเปเบเบทเบเปเบเบตเปเบกเบชเปเบฒเบฅเบฑเบเบซเบเปเบฒเบเบตเป, เบเบปเบงเปเบเปเบฅเบฐเบเบฐเปเบเบเบเบฑเบเบฅเบญเบ ; - เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบ / เบเบปเบเบเบฐเบฅเบดเบ asynchronous เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ Fortran;
- เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบก Solaris 10 (*-*-solaris2.10) เปเบฅเบฐ Cell/BE (Cell Broadband Engine SPU) เปเบเปเบเบทเบเบเบฐเบเบดเปเบชเบเปเบฅเปเบง เปเบฅเบฐเบเบฐเบเบทเบเบฅเบถเบเบญเบญเบเปเบเบฅเบธเปเบเปเบซเบเปเบเปเปเปเบ. เบเบฒเบเบฎเบญเบเบฎเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณ Armv2, Armv3, Armv5 เปเบฅเบฐ Armv5E เปเบเปเบเบทเบเบขเบธเบเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบฅเปเบง. เบเบฒเบโเบชเบฐโเบซเบเบฑเบโเบชเบฐโเบซเบเบนเบ Intel MPX (เบเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบฒเบโเบเบปเบโเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบเบงเบฒเบกโเบเปเบฒโ) เปเบเปโเบเบทเบโเบขเบธเบโเปเบเบปเบฒโเบเบฒเบโ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru