[llvm-dev] How to debug instruction selection

Alex Denisov via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 15 00:58:52 PDT 2017

Hi there,

I try to JIT compile some bitcode and seeing the following error:

LLVM ERROR: Cannot select: 0x28ec830: ch,glue = X86ISD::CALL 0x28ec7c0, 0x28ef900, Register:i32 %EDI, Register:i8 %AL, RegisterMask:Untyped, 0x28ec7c0:1
  0x28ef900: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<void (i8*, ...)* @_ZN5FooBr7xprintfEPKcz> 0
    0x28ec520: i32 = TargetGlobalAddress<void (i8*, ...)* @_ZN5FooBr7xprintfEPKcz> 0
  0x28ec670: i32 = Register %EDI
  0x28ec750: i8 = Register %AL
  0x28ec360: Untyped = RegisterMask
  0x28ec7c0: ch,glue = CopyToReg 0x28ec6e0, Register:i8 %AL, Constant:i8<0>, 0x28ec6e0:1
    0x28ec750: i8 = Register %AL
    0x28ec600: i8 = Constant<0>
    0x28ec6e0: ch,glue = CopyToReg 0x28ec590, Register:i32 %EDI, 0x28ef820
      0x28ec670: i32 = Register %EDI
      0x28ef820: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<[47 x i8]* @.str> 0
        0x28ec910: i32 = TargetGlobalAddress<[47 x i8]* @.str> 0
In function: _ZN5FooBr10initSystemEv

I have some assumptions about this particular error.
What is not clear to me is: how am I supposed to read this error message? I.e. what to look at to make some sense out of it?

P.S. I have zero knowledge about instruction selection, so any suggestions on where I can get this knowledge are more than welcome.
Software Engineer, https://lowlevelbits.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170815/6371b0d2/attachment.sig>

More information about the llvm-dev mailing list