Hi, I essentially need the profile guided optimizations, because without them the executables are huge and slower. I have ICC 2016 and I also tried ICC 2018, in both cases same results - while the normal build produces working executables (sames as all other compilers - MSVC and CLANG), profile guided generation executables crash (after compiling for hours and producing over 200MB executable, both 32bit and 64bit Windows).
Command line for compiler:
icl.exe /D "MNOPARAMETERCHECK" /D "MELDAPRODUCTIONAUDIOPLUGINKERNEL" /D "MELDAPRODUCTIONAUDIOPLUGINKERNELV11" /D "MVERSION=\"12.00a\"" /D "MVERSIONINT=0xC0000" /D "NDEBUG" /D "MLIBRARYDLL" /D "MPROJECTNAME=MeldaProductionAudioPluginKernelV11" /D "MPROJECTNAMESTRING=\"MeldaProductionAudioPluginKernelV11\"" /D "MENABLETBBxxx" /D "MINTELIPP_8" /D "MINTELIPP" /D "MUNICODE" /D "MENABLEDIRECTSOUND" /D "MENABLEASIO" /D "_SECURE_SCL=0" /D "_WINDOWS" /D "UNICODE" /D "_MBCS" /D "WIN32" /GR- /bigobj /Qrestrict /arch:SSE2 /Qprof-gen /Qprof-dir c:\PROFGEN\MeldaProductionAudioPluginKernelV11 /MT /TP /Fd"!temp/ReleaseReleaseIntelcompiler0/MeldaProductionAudioPluginKernelV11/vc70.pdb" /D_USRDLL /D_WINDLL /D_WINDOWS /DWIN32 /MP /Fo"!temp/ReleaseReleaseIntelcompiler0/MeldaProductionAudioPluginKernelV11/KERNEL.obj" /FR"!temp/ReleaseReleaseIntelcompiler0/MeldaProductionAudioPluginKernelV11/" /I "D:/programming/mlibrary" /I "D:/Programming/MDrummer/MDrummer" /I "C:/Program Files (x86)\IntelSWTools\compilers_and_libraries_2018\windows\compiler\include\ia32" /I "C:/Program Files (x86)\IntelSWTools\compilers_and_libraries_2018\windows\compiler\include" /I "C:/Program Files (x86)\IntelSWTools\compilers_and_libraries_2018\windows\compiler\include\icc" /I "D:/programming/mlibrary/library/" /I "C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/ipp/include" /I "C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/ipp/include" /I "C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/tbb/include" /D_MBCS /Wp64 /c /W3 /Gm- /Qstd=c++14 /Zc:forScope /nologo /Gd /GF /EHsc /fp:fast /GS- /Qdiag-disable:1292 /Qvc14 /Qm32 /O1 /Os /vec- MDrummer/KERNEL.cpp
Command line for linker:
icl.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib wsock32.lib winmm.lib msimg32.lib psapi.lib opengl32.lib Glu32.lib freetype.lib zlib.lib libpng.lib libtiff.lib libjpeg.lib giflib.lib bzip2.lib libflac.lib vstsdk3.lib aax.lib asio.lib libmad.lib fcnn.lib ippsmt.lib ippvmmt.lib ippcoremt.lib ippimt.lib /link /MP /OUT:"D:/Programming/MDrummer/BINEffects/binkernel/MeldaProductionAudioPluginKernelV11.dll" /INCREMENTAL:NO /RELEASE /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01 /DYNAMICBASE /DLL /IMPLIB:"D:/Programming/MDrummer/!temp/ReleaseReleaseIntelcompiler0/MeldaProductionAudioPluginKernelV11.lib" /LIBPATH:"D:/programming/mlibrary/library" /LIBPATH:"D:/Programming/MDrummer" /LIBPATH:"D:/Programming/MDrummer/!temp/ReleaseReleaseIntelcompiler0" /LIBPATH:"D:/Programming/MDrummer/BINEffects/bin" /LIBPATH:"C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/ipp/lib/ia32" /LIBPATH:"C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/tbb/lib/ia32/vc12" /LIBPATH:"C:/Program Files (x86)\IntelSWTools\compilers_and_libraries_2018\windows\compiler\lib\ia32" /nologo /MANIFEST:NO /Gy /Qoption,link,/OPT:REF /OPT:REF /OPT:ICF
In case it would help, this is where it crashes (access violation):
1CBA6915 movq xmm1,mmword ptr ds:[246684ACh] 1CBA691D movq xmm0,mmword ptr ds:[2067DD60h] 1CBA6925 paddq xmm1,xmm0 1CBA6929 movq mmword ptr ds:[246684ACh],xmm1 1CBA6931 mov dword ptr [ebp],20h 1CBA6938 cmp dword ptr ds:[24008288h],0 1CBA693F je 1CBA755D 1CBA6945 movq xmm1,mmword ptr ds:[240082B8h] 1CBA694D movq xmm0,mmword ptr ds:[2067DD60h] 1CBA6955 paddq xmm1,xmm0 1CBA6959 movq mmword ptr ds:[240082B8h],xmm1 1CBA6961 cmp dword ptr ds:[240084C4h],0 1CBA6968 je 1CBA7544 1CBA696E push dword ptr ds:[11990004h] 1CBA6974 push dword ptr ds:[11990000h] 1CBA697A push 5 1CBA697C movq xmm1,mmword ptr ds:[240084E4h] 1CBA6984 movq xmm0,mmword ptr ds:[2067DD60h] 1CBA698C paddq xmm1,xmm0 1CBA6990 push 0DEECE66Dh 1CBA6995 movq mmword ptr ds:[240084E4h],xmm1 1CBA699D call 203DC4E0 1CBA69A2 add eax,0Bh 1CBA69A5 movq xmm1,mmword ptr ds:[240082A8h] 1CBA69AD adc edx,0 1CBA69B0 xor ebx,ebx 1CBA69B2 movq xmm0,mmword ptr ds:[2067DD60h] 1CBA69BA movzx edi,dx 1CBA69BD paddq xmm1,xmm0 >>>> 1CBA69C1 mov dword ptr ds:[11990000h],eax 1CBA69C6 mov dword ptr ds:[11990004h],edi 1CBA69CC shr eax,10h 1CBA69CF shl edi,10h 1CBA69D2 or edi,eax 1CBA69D4 movq mmword ptr ds:[240082A8h],xmm1 1CBA69DC cmp dword ptr ds:[24008620h],0 1CBA69E3 je 1CBA752B 1CBA69E9 movq xmm0,mmword ptr ds:[24008640h] 1CBA69F1 movq xmm1,mmword ptr ds:[2067DD60h] 1CBA69F9 movq xmm2,mmword ptr ds:[240082B0h] 1CBA6A01 paddq xmm0,xmm1 1CBA6A05 paddq xmm2,xmm1 1CBA6A09 movq xmm3,mmword ptr ds:[2067DEC0h] 1CBA6A11 mov dword ptr [esp],2400822Ch 1CBA6A18 mov dword ptr [esp+4],7 1CBA6A20 movq mmword ptr ds:[24008640h],xmm0 1CBA6A28 movq mmword ptr ds:[240082B0h],xmm2 1CBA6A30 movq mmword ptr [esp+8],xmm3 1CBA6A36 call 203BAC60 1CBA6A3B push ebx 1CBA6A3C movq xmm5,mmword ptr ds:[24668484h] 1CBA6A44 movq xmm4,mmword ptr ds:[2067DD60h] 1CBA6A4C push 0FFFFFFFFh 1CBA6A4E paddq xmm5,xmm4 1CBA6A52 push ebx 1CBA6A53 push edi