search for: maywritemem

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).