[PATCH] D139346: [FuncSpec] Global ranking of specialisations

Alexandros Lamprineas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 02:29:56 PST 2022


labrinea added a comment.

Ok, I think we've found a bug from compiling lencod (llvmtestsuite CTMark):

  2163 FnSpecialization: Function get_mem_mv , gain 19006
  2164 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_bot_field_mb, i64 0, i32 17)
  2165 FnSpecialization: Function get_mem_mv , gain 19006
  2166 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_bot_field_mb, i64 0, i32 16)
  2167 FnSpecialization: Function get_mem_mv , gain 19006
  2168 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_top_field_mb, i64 0, i32 17)
  2169 FnSpecialization: Function get_mem_mv , gain 19006
  2170 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_top_field_mb, i64 0, i32 16)
  2171 FnSpecialization: Function get_mem_mv , gain 19006
  2172 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_bot_frame_mb, i64 0, i32 17)
  2173 FnSpecialization: Function get_mem_mv , gain 19006
  2174 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_bot_frame_mb, i64 0, i32 16)
  2175 FnSpecialization: Function get_mem_mv , gain 19006
  2176 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_top_frame_mb, i64 0, i32 17)
  2177 FnSpecialization: Function get_mem_mv , gain 19006
  2178 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.RD_DATA, ptr @rddata_top_frame_mb, i64 0, i32 16)
  2179 FnSpecialization: Function get_mem_mv , gain 19006
  2180 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.ImageParameters, ptr @images, i64 0, i32 82)
  2181 FnSpecialization: Function get_mem_mv , gain 19006
  2182 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.ImageParameters, ptr @images, i64 0, i32 81)
  2183 FnSpecialization: Function get_mem_mv , gain 19006
  2184 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.ImageParameters, ptr @images, i64 0, i32 80)
  2185 FnSpecialization: Function get_mem_mv , gain 19006
  2186 FnSpecialization:   FormalArg = %0, ActualArg = getelementptr inbounds (%struct.ImageParameters, ptr @images, i64 0, i32 79)
  ...
  2199 FnSpecialization: Specialized 12 functions in module ld-temp.o

All 12 specializations are coming from get_mem_mv, but only MaxClonesThreshold ought to be kept.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139346/new/

https://reviews.llvm.org/D139346



More information about the llvm-commits mailing list