lifting-bits / remill

Library for lifting machine code to LLVM bitcode
Apache License 2.0
1.27k stars 143 forks source link

llvm nagging about failure of loop unrolling #452

Closed DCNick3 closed 3 years ago

DCNick3 commented 3 years ago

Whenever I run remill-lift (even as simple as remill-lift-10.0 --bytes c3 --arch x86 --ir_out /dev/stdout), I get a bunch of repeating warnings from clang:

warning: <unknown>:0:0: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering

It's not clear for me does it refer to (are there loop in semantics definitions?) and the produced bitcode seems to be fine, but I'm not sure if this is a real problem or just some weird unrelated message. Can you please look into it?

pgoodman commented 3 years ago

In the semantics, we have a bunch of _Pragma("unroll") directives, and Clang is refusing to follow them. These aren't actual problems, though.

DCNick3 commented 3 years ago

Nice. Will have to silence those warnings I guess