[PATCH] D53758: Handle value uses wrapped in metadata for the use-list order

David Stenberg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 26 07:10:24 PDT 2018


dstenb added a comment.

I thought I had built up some confidence for this after a night of fuzz testing. However, first after creating this review I encountered a crash in the LL parser, which happened due to the use-list order containing too many elements with this patch.

For my off-tree target this happens for a `i16* null`, which have the following uses:

  call void @llvm.dbg.value(metadata i16* null, metadata !16, metadata !DIExpression()), !dbg !17 
  call void @llvm.dbg.value(metadata i16* null, metadata !16, metadata !DIExpression()), !dbg !17 
  call void @llvm.dbg.value(metadata i16* null, metadata !16, metadata !DIExpression()), !dbg !17 
  %_tmp4 = call i16 bitcast (i16 (...) addrspace(40)* @fn2 to i16 (i16*, i16*, i16*) addrspace(40)*)(i16* null, i16* null, i16* null), !dbg !18 



  error: wrong number of indexes, expected 3

Maybe you see something obviously bad with the approach in this patch? In the meanwhile, I'll investigate the crash.

I'm sorry for the inconvenience!


Repository:
  rL LLVM

https://reviews.llvm.org/D53758





More information about the llvm-commits mailing list