[llvm-commits] PATCH: Fix atomic load store instruction for pointer type

Logan Chien tzuhsiang.chien at gmail.com
Sat Aug 4 07:57:06 PDT 2012


Dear all,

  It seems that the target-independent code generator has some problem
while handling *atomic* load/store instruction with pointer type, such as:

  %0 = load atomic i32** %a0 singlethread unordered, align 4
  store atomic i32* %a0, i32** %a1 singlethread unordered, align 4
  ; (read the patch for the complete test case)

  These instructions will cause SEGV when we are running llc.  This is due
to the fact that llvm::EVT::getSizeInBits() does not support pointer type,
which
is target-dependent.  We should translate the pointer type with
llvm::TargetLowering::getValueType().  I hope the attached patch can fix the
problem.  Thanks for your reading.

Sincerely,
Logan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120804/0fd3c8bd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-atomic-load-store-for-pointer-type.patch
Type: application/octet-stream
Size: 1996 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120804/0fd3c8bd/attachment.obj>


More information about the llvm-commits mailing list