[LLVMdev] safe to speculatively execute load of malloc?
Chris Lattner
clattner at apple.com
Sun Jan 3 10:14:44 PST 2010
You're right, fixed in r92452.
-Chris
On Jan 3, 2010, at 4:54 AM, Jay Foad wrote:
> I've just noticed this, in Instruction::isSafeToSpeculativelyExecute():
>
> http://llvm.org/doxygen/Instruction_8cpp-source.html#l00408
>
> 00430 case Load: {
> 00431 if (cast<LoadInst>(this)->isVolatile())
> 00432 return false;
> 00433 if (isa<AllocaInst>(getOperand(0)) || isMalloc(getOperand(0)))
> 00434 return true;
>
> This says that it's safe to speculatively execute a load from the
> pointer returned by malloc(). But surely that's not true if malloc()
> returns NULL.
>
> Thanks,
> Jay.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list