Displaying 7 results from an estimated 7 matches for "maywritemem".
2009 Oct 08
2
[LLVMdev] Instructions that cannot be duplicated
...ting
causes undefined behavior on vector hardware. Also, moving the
instruction inside of flow control when it is originally outside of flow
control produces undefined behavior. There currently is no way to
specify this in LLVM that I know of. We've tried lowering it to an
intrinsic and setting MayWriteMem and this does not solve the problem.
After looking at the llvm IR, there is no equivalent method of
representing an instruction that is an execution barrier(not a memory
barrier, which llvm.barrier.[ss|ll|ls|sl] is). If you have any idea's,
we would be willing to give them a try.
On the uniqu...
2009 Oct 08
0
[LLVMdev] Instructions that cannot be duplicated
...d behavior on vector hardware. Also, moving the
> instruction inside of flow control when it is originally outside of flow
> control produces undefined behavior. There currently is no way to
> specify this in LLVM that I know of. We've tried lowering it to an
> intrinsic and setting MayWriteMem and this does not solve the problem.
> After looking at the llvm IR, there is no equivalent method of
> representing an instruction that is an execution barrier(not a memory
> barrier, which llvm.barrier.[ss|ll|ls|sl] is). If you have any idea's,
> we would be willing to give them a...
2009 Oct 08
2
[LLVMdev] Instructions that cannot be duplicated
...ware. Also, moving the
> > instruction inside of flow control when it is originally outside of
> flow
> > control produces undefined behavior. There currently is no way to
> > specify this in LLVM that I know of. We've tried lowering it to an
> > intrinsic and setting MayWriteMem and this does not solve the
> problem.
> > After looking at the llvm IR, there is no equivalent method of
> > representing an instruction that is an execution barrier(not a memory
> > barrier, which llvm.barrier.[ss|ll|ls|sl] is). If you have any
> idea's,
> > we w...
2009 Oct 08
0
[LLVMdev] Instructions that cannot be duplicated
On Wed, Oct 7, 2009 at 11:20 AM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> Is there a current way to specify that an instruction or function call
> cannot be duplicated and thus any optimizations that might want to duplicate
> this instruction would fail?
No. Anything can be duplicated. That could change, but you would
need to make a strong case for why other solutions
2009 Oct 08
0
[LLVMdev] Instructions that cannot be duplicated
...he
>> > instruction inside of flow control when it is originally outside of
>> flow
>> > control produces undefined behavior. There currently is no way to
>> > specify this in LLVM that I know of. We've tried lowering it to an
>> > intrinsic and setting MayWriteMem and this does not solve the
>> problem.
>> > After looking at the llvm IR, there is no equivalent method of
>> > representing an instruction that is an execution barrier(not a memory
>> > barrier, which llvm.barrier.[ss|ll|ls|sl] is). If you have any
>> idea...
2009 Oct 08
3
[LLVMdev] Instructions that cannot be duplicated
...instruction inside of flow control when it is originally outside of
>>> flow
>>> > control produces undefined behavior. There currently is no way to
>>> > specify this in LLVM that I know of. We've tried lowering it to an
>>> > intrinsic and setting MayWriteMem and this does not solve the
>>> problem.
>>> > After looking at the llvm IR, there is no equivalent method of
>>> > representing an instruction that is an execution barrier(not a memory
>>> > barrier, which llvm.barrier.[ss|ll|ls|sl] is). If you have any...
2009 Oct 07
3
[LLVMdev] Instructions that cannot be duplicated
Is there a current way to specify that an instruction or function call
cannot be duplicated and thus any optimizations that might want to
duplicate this instruction would fail?
The problem deals with barrier in OpenCL 1.0. One of the conditions of
using barrier is that if a barrier exists inside of control flow, every
thread in a work-group must execute the barrier instruction(6.11.9).