[PATCH] D28170: [LICM] When promoting scalars, allow inserting stores to thread-local allocas
    Eli Friedman via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Jan 18 15:05:05 PST 2017
    
    
  
efriedma added inline comments.
================
Comment at: llvm/trunk/lib/Transforms/Scalar/LICM.cpp:1037
     SafeToInsertStore =
-        isAllocLikeFn(Object, TLI) && !PointerMayBeCaptured(Object, true, true);
+        (isAllocLikeFn(Object, TLI) || isa<AllocaInst>(Object)) &&
+        !PointerMayBeCaptured(Object, true, true);
----------------
trentxintong wrote:
> The question I really want to ask is whether the check for MayNotBeCaptured is necessary for Alloca. Should not alloca be implicitly thread local ? The language reference does not explicitly state it.
In general, memory allocated using alloca can be used in all the same ways you could use memory allocated with malloc().  Not sure what sort of restriction you're expecting.
Repository:
  rL LLVM
https://reviews.llvm.org/D28170
    
    
More information about the llvm-commits
mailing list