aec_port_reset_output_index is a small static method and is only called once. There should be performance gain by inlining the method:
$ clang -c -w -O2 -Rpass=inline aec_port_reduced.c
aec_port_reduced.c:46:11: remark: aec_port_reset_output_index inlined into d with (cost=-14955, threshold=225) [-Rpass=inline]
aec_port_reset_output_index();
^
However with the new pass manager:
$ clang -c -w -fexperimental-new-pass-manager -O2 -Rpass-missed=inline aec_port_reduced.c
aec_port_reduced.c:46:11: remark: aec_port_reset_output_index not inlined into d because too costly to inline (cost=45, threshold=45) [-Rpass-missed=inline]
aec_port_reset_output_index();
^
Extended Description
aec_port_reset_output_index is a small static method and is only called once. There should be performance gain by inlining the method:
$ clang -c -w -O2 -Rpass=inline aec_port_reduced.c aec_port_reduced.c:46:11: remark: aec_port_reset_output_index inlined into d with (cost=-14955, threshold=225) [-Rpass=inline] aec_port_reset_output_index(); ^
However with the new pass manager:
$ clang -c -w -fexperimental-new-pass-manager -O2 -Rpass-missed=inline aec_port_reduced.c aec_port_reduced.c:46:11: remark: aec_port_reset_output_index not inlined into d because too costly to inline (cost=45, threshold=45) [-Rpass-missed=inline] aec_port_reset_output_index(); ^