medicnick / gpuocelot

Automatically exported from code.google.com/p/gpuocelot
0 stars 0 forks source link

Replace Atomic intrinsic by atomicrmw instruction in LLVM #64

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.Compile SDK 4.0 App Mandelbrot and link against ocelot.
2.Set device backend as LLVM in configure.ocelot
3.Use LLVM SVN version or version >= 3.0
4.Run the app.

What is the expected output? What do you see instead?
Error reported: LLVM ERROR: Program used external function 
'llvm.atomic.load.add.i32.p0i32' which could not be resolved!

Please use labels and text to provide additional information.
LLVM 3.0 does not support llvm.atomic.load.add intrinsic (or other atomic 
intrinsic) anymore. It now uses instruction "atomicrmw" instead.

Cuda Tookit 4.1, SDK 4.0

Original issue reported on code.google.com by wangjin....@gmail.com on 24 Jan 2012 at 8:12

GoogleCodeExporter commented 8 years ago
This should be fixed now, the LLVM backend is now up to date with the new LLVM 
atomic memory instructions.

Original comment by gregory....@gatech.edu on 2 May 2012 at 5:43