C++ 需要在makefile中进行哪些更改才能启用自动矢量化的显示报告?

C++ 需要在makefile中进行哪些更改才能启用自动矢量化的显示报告?,c++,vectorization,C++,Vectorization,程序的编译和执行是正确的,但即使我使用了-fopt info vec optimized标志,也无法获得编译器完成的矢量化报告 模式生成器< /> >是C++文件名,模式< /C> >对象 makefile的内容如下: OBJ = pattern pattern: patterngenerator.cc /opt/rh/devtoolset-6/root/usr/bin/c++ -D_SYSTYPE_SYSV -O3 -DNDEBUG -MD \ -DCHOLMOD_USES_M

程序的编译和执行是正确的,但即使我使用了
-fopt info vec optimized
标志,也无法获得编译器完成的矢量化报告

<代码>模式生成器< /> >是C++文件名,<代码>模式< /C> >对象

makefile的内容如下:

OBJ = pattern 

pattern: patterngenerator.cc 
    /opt/rh/devtoolset-6/root/usr/bin/c++ -D_SYSTYPE_SYSV -O3 -DNDEBUG -MD \
-DCHOLMOD_USES_MKL -DD1_PORT -DDRC_LOCAL -DQT_NO_KEYWORDS -D_REENTRANT \
-D_THREAD_SAFE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_FILE_OFFSET_BITS=64 \
-fcheck-new -Woverloaded-virtual -Wno-deprecated -Werror -DUSES_CLP_CODE \
-DNPIX_CALIBRE_CODE -DENABLE_CMP -DMKL_SOLVER -DXCAL_DEV -DXCALIBREH_BUILD \
-DPEXVIEWQT -DTHREADED -DLVS_RVE -DUSES_CLP_CODE -DMKL_ILP64 -DMKL_INT=long \
-std=c++14 -mavx2 -Wvla -Wall -Wno-write-strings -Wno-parentheses \
-Wno-uninitialized -Wno-strict-aliasing -Wno-char-subscripts -Wno-strict-overflow \
-fno-tree-sink -fno-math-errno -Wno-unused-local-typedefs -Wno-unused-but-set-variable \
-Wno-unused-function -Waggressive-loop-optimizations -Wno-misleading-indentation \
-DBUILDING_IN_OPCLIBS_DIR -DTURBO_CMP_EXTRACTION -DSECURE -DTCL84 -DUSE_LVBASE \
-D__EXTENSIONS__ -DCONST86="" -D__STRICT_ANSI__ -DUSE_OLD_CANVAS -DUSE_OLD_IMAGE \
-DUSE_NON_CONST -DHAVE_COIN_LIBS -fopt-info-vec-optimized -Wno-unknown-pragmas \
-fno-strict-aliasing patterngenerator.cc -o pattern

通用生成文件清理建议:将警告放在一个变量中(
警告:=-Wall-Wextra…
),定义放在另一个变量中(
定义:=-D\u SYSTYPE\u SYSV…
),开关放在另一个变量中(
开关:=-fopt info-vec-optimized…
)。然后对编译器使用
$(CXX)
,而不是将其路径硬编码到Makefile中,并将
$(警告)$(定义)$(开关)
添加到规则中。使用
-o$@
而不是
-o模式
,以及
$通用生成文件清理建议:将警告放在一个变量中(
警告:=-Wall-Wextra…
),定义放在另一个变量中(
定义:=-D_系统类型(u SYSV…
),开关放在另一个变量中(
开关:=-fopt-info-vec优化…
)。然后对编译器使用
$(CXX)
,而不是将其路径硬编码到Makefile中,并将
$(警告)$(定义)$(开关)
添加到规则中。使用
-o$@
而不是
-o模式
,和
$