[LLVMdev] LICM promoting memory to scalar
Balaram Makam
bmakam at codeaurora.org
Thu Oct 9 12:29:01 PDT 2014
-----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent: Sunday, September 28, 2014 4:43 AM
> To: Balaram Makam
> Cc: LLVM Developers Mailing List; Robin Morisset; Filip Pizlo
> Subject: Re: [LLVMdev] LICM promoting memory to scalar
----- Original Message -----
> From: "Balaram Makam" <bmakam at codeaurora.org>
> To: "Robin Morisset" <morisset at google.com>, "Filip Pizlo"
> <fpizlo at apple.com>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Wednesday, September 3, 2014 11:59:26 AM
> Subject: Re: [LLVMdev] LICM promoting memory to scalar
>
> Thanks for the background on the concurrent memory model.
>
> So, is it sufficient that the loop entry is guarded by condition (cbz
> at top) for preventing the race?
> The loop entry will be guarded by condition if loop has been rotated
> by loop rotate pass.
>
> Since LICM runs after loop rotate, we can use
> ScalarEvolution::isLoopEntryGuardedByCond to check if we can
> speculatively execute load without causing a race.
> Is it heavy-handed solution for this problem? I can create a bug if
> you would like to.
> If you did not file a bug report, please do.
> -Hal
Sorry for the late response.
Bug reported here:
http://llvm.org/bugs/show_bug.cgi?id=21229
Thanks,
Balaram
More information about the llvm-dev
mailing list