[PATCH] [ValueTracking] do not overwrite analysis results already computed

Jingyue Wu jingyue at google.com
Thu Jun 11 10:10:53 PDT 2015


`computeKnonwBitsFromAssume` only refines their inputs, but `computeKnownBitsFromDominatingCondition` calls `computeKnownBitsFromTrueCondition` which may clobber the inputs at http://llvm.org/docs/doxygen/html/ValueTracking_8cpp_source.html#l00555. That is the only place I found that may clobber `KnownZero/KnownOne` in these two functions, so if I remove the clobbering in `computeKnownBitsFromTrueCondition`, I agree I can call them at Line 1530.

However, it sounds weird that `computeKnownBits` may clobber inputs but some (if not all) `computeKnownBitsXXX` functions don't. Ideally, none of them should clobber inputs, right?


http://reviews.llvm.org/D10283

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list