[PATCH] D101541: BasicAA: Recognize inttoptr as isEscapeSource
    Nuno Lopes via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sun May  2 15:05:21 PDT 2021
    
    
  
nlopes accepted this revision.
nlopes added a comment.
There's this comment in isNonEscapingLocalObject:
  // If this is an argument that corresponds to a byval or noalias argument,
  // then it has not escaped before entering the function.  Check if it escapes
  // inside the function.
Which supports this patch. Though this claim doesn't seem very clear to me. e.g. we mark memcpy's arguments with noalias. It's not guaranteed case that the input pointers haven't escaped before. So the exact meaning of noalias is not clear to me.
I've read the C11 standard re restrict, and it is omissive w.r.t. to int2ptr casts. Though I think this patch respects the spirit of the standard. We just need to nail the exact semantics of noalias at some point..
TL;DR: LGTM.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101541/new/
https://reviews.llvm.org/D101541
    
    
More information about the llvm-commits
mailing list