[polly] r225326 - Do not use a const Twine here

Tobias Grosser tobias at grosser.es
Tue Jan 6 16:39:12 PST 2015


On 07.01.2015 01:33, David Blaikie wrote:
>
>
> On Tue, Jan 6, 2015 at 4:30 PM, Tobias Grosser <tobias at grosser.es
> <mailto:tobias at grosser.es>> wrote:
>
>     Author: grosser
>     Date: Tue Jan  6 18:30:01 2015
>     New Revision: 225326
>
>     URL: http://llvm.org/viewvc/llvm-project?rev=225326&view=rev
>     Log:
>     Do not use a const Twine here
>
>     This has caused segfaults when using Polly in the context of Julia,
>     that are
>     not reproducible on my machine in 'make check-polly'.
>
>     Modified:
>          polly/trunk/lib/CodeGen/IslExprBuilder.cpp
>
>     Modified: polly/trunk/lib/CodeGen/IslExprBuilder.cpp
>     URL:
>     http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslExprBuilder.cpp?rev=225326&r1=225325&r2=225326&view=diff
>     ==============================================================================
>     --- polly/trunk/lib/CodeGen/IslExprBuilder.cpp (original)
>     +++ polly/trunk/lib/CodeGen/IslExprBuilder.cpp Tue Jan  6 18:30:01 2015
>     @@ -112,7 +112,7 @@ Value *IslExprBuilder::createAccessAddre
>         const ScopArrayInfo *SAI = ScopArrayInfo::getFromId(BaseId);
>         Base = SAI->getBasePtr();
>         assert(Base->getType()->isPointerTy() && "Access base should be
>     a pointer");
>     -  const Twine &BaseName = Base->getName();
>     +  auto BaseName = Base->getName();
>
>
> So what type does getName return? StringRef?

Base is an llvm::Value and llvm::Value's getName() function returns a 
StringRef, yes.

Are you saying I should not use 'auto' here? Or do you have an 
explanation for the memory corruption I am seeing?

Cheers,
Tobias



More information about the llvm-commits mailing list