Displaying 3 results from an estimated 3 matches for "73bfa4a".
2014 Sep 02
3
[LLVMdev] LICM promoting memory to scalar
All,
If we can speculatively execute a load instruction, why isn’t it safe to hoist it out by promoting it to a scalar in LICM pass?
There is a comment in LICM pass that if a load/store is conditional then it is not safe because it would break the LLVM concurrency model (See commit 73bfa4a).
It has an IR test for checking this in test/Transforms/LICM/scalar-promote-memmodel.ll
However, I have a sample code where GCC is able to promote the memory to scalar and hoist/sink load/store out of loop but LLVM cannot.
Is GCC being aggressive here or LLVM missing out an opportunity?
Here is...
2014 Sep 02
2
[LLVMdev] LICM promoting memory to scalar
...an speculatively execute a load instruction, why isn’t it safe to hoist it out by promoting it to a scalar in LICM pass?
>>
>>
>> There is a comment in LICM pass that if a load/store is conditional then it is not safe because it would break the LLVM concurrency model (See commit 73bfa4a).
>> It has an IR test for checking this in test/Transforms/LICM/scalar-promote-memmodel.ll
>>
>> However, I have a sample code where GCC is able to promote the memory to scalar and hoist/sink load/store out of loop but LLVM cannot.
>> Is GCC being aggressive here or LLVM m...
2014 Sep 03
3
[LLVMdev] LICM promoting memory to scalar
...rg> wrote:
All,
If we can speculatively execute a load instruction, why isn’t it safe to
hoist it out by promoting it to a scalar in LICM pass?
There is a comment in LICM pass that if a load/store is conditional then it
is not safe because it would break the LLVM concurrency model (See commit
73bfa4a).
It has an IR test for checking this in
test/Transforms/LICM/scalar-promote-memmodel.ll
However, I have a sample code where GCC is able to promote the memory to
scalar and hoist/sink load/store out of loop but LLVM cannot.
Is GCC being aggressive here or LLVM missing out an opportunity?
Here is...