InstCombine: Reimplementation of visitUDivOperand
authorDavid Majnemer <david.majnemer@gmail.com>
Thu, 4 Jul 2013 21:17:49 +0000 (21:17 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Thu, 4 Jul 2013 21:17:49 +0000 (21:17 +0000)
commite7006bb04bd881478fe24d6fbb3051ba3f63d746
treeb58c6dc1214fc96945301d38715af806ac785051
parent6d88f9b73ae8e9170cd8da729895a03a785cc633
InstCombine: Reimplementation of visitUDivOperand

This transform was originally added in r185257 but later removed in
r185415.  The original transform would create instructions speculatively
and then discard them if the speculation was proved incorrect.  This has
been replaced with a scheme that splits the transform into two parts:
preflight and fold.  While we preflight, we build up fold actions that
inform the folding stage on how to act.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185667 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
test/Transforms/InstCombine/div-shift.ll