https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109985

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Hmm:
modref analyzing 'void boost::unordered::detail::foa::prefetch(const
void*)/3452' (ipa=0) (pure)
Analyzing flags of ssa name: p_1(D)
  Analyzing stmt: __builtin_prefetch (p_1(D));
  current flags of p_1(D) no_direct_clobber no_indirect_clobber
no_direct_escape no_indirect_escape not_returned_directly
not_returned_indirectly no_direct_read no_indirect_read
flags of ssa name p_1(D) no_direct_clobber no_indirect_clobber no_direct_escape
no_indirect_escape not_returned_directly not_returned_indirectly no_direct_read
no_indirect_read
Always executed bbbs (assuming return or EH): 2
 - Analyzing call:__builtin_prefetch (p_1(D));
 - ECF_CONST | ECF_NOVOPS, ignoring all stores and all loads except for args.
Function found to be const: void boost::unordered::detail::foa::prefetch(const
void*)/3452
Declaration updated to be const: void
boost::unordered::detail::foa::prefetch(const void*)/3452
 - modref done with result: tracked.
  loads:
  stores:
  Try dse
  parm 0 flags: not_returned_directly not_returned_indirectly no_direct_read
no_indirect_read
void boost::unordered::detail::foa::prefetch (const void * p)
{
  <bb 2> [local count: 1073741824]:
  __builtin_prefetch (p_1(D));
  return;

}


Maybe that explains it, 


DEF_GCC_BUILTIN        (BUILT_IN_PREFETCH, "prefetch",
BT_FN_VOID_CONST_PTR_VAR, ATTR_NOVOPS_LEAF_LIST)

Reply via email to