[llvm-dev] Instruction does not dominate all uses!

sangeeta chowdhary via llvm-dev llvm-dev at lists.llvm.org
Thu Aug 30 15:31:23 PDT 2018


Hello All,


I am instrumenting IR to pass addres of the function to runtime but I am
getting error - Instruction does not dominate all uses. I used M.dump() to
get below dump, not able to figure out what I am doing wrong. Any help
would be much appreciated.


define dso_local double @mysqrt(double %val1) local_unnamed_addr #0 {

entry:

  %0 = bitcast double (double)* @mysqrt to i8*

  %1 = call i64 @getAddr(i8* %0)

  call void @funcInit(i64 %1)

  %2 = call i64 @getRealFunArg(i32 0, i64 %1)



  %mul = fmul double %val1, %val1



  ret double %mul

}



!llvm.module.flags = !{!0}

!llvm.ident = !{!1}


!0 = !{i32 1, !"wchar_size", i32 4}

!1 = !{!"clang version 7.0.0 (trunk 336308)"}

Instruction does not dominate all uses!

  %1 = call i64 @getAddr(i8* %0)

  %2 = call i64 @getRealFunArg(i32 0, i64 %1)


Instruction does not dominate all uses!

  %1 = call i64 @getAddr(i8* %0)

  call void @trackReturn(i64 %1, i64 %4)

LLVM ERROR: Broken function found, compilation aborted!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180830/e08d7231/attachment.html>


More information about the llvm-dev mailing list