[PATCH] Fix urem instruction with power of two to compute known bit.
Andrey Kuharev
an.kuharev at gmail.com
Fri May 23 00:33:09 PDT 2014
I check asm output in new version by
llc -mtriple=i386-pc-win32 computeKnownBits_urem.ll
Result is very simple and right:
_main: # @main
# BB#0: # %entry
pushl %eax
movl $1, (%esp)
movl $1, %eax
popl %edx
retl
Algorithm is sufficiently complex and the same result in asm
can be obtained by the different ways with slightly different IR file.
Changed code works when simplification begins from not "urem" instruction.
Instructions "and" and "or" set KnownOne and KnownZero mutually.
Instruction "load" in computeKnownBits cuts initialization of %a.
Result of changed code work is simplification with message
Replacing.2 .......
if KnownOne and KnownZero leads to definite result
then next message is
With: 0x{{[0-9a-f]+}}: i32 = Constant ....
http://reviews.llvm.org/D3823
More information about the llvm-commits
mailing list