[PATCH] D69321: [LVI][CVP] LazyValueInfoImpl::solveBlockValueBinaryOp(): use no-wrap flags from `add` op

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 22 13:26:27 PDT 2019


lebedev.ri created this revision.
lebedev.ri added reviewers: nikic, reames.
lebedev.ri added a project: LLVM.
Herald added a subscriber: hiraditya.

This was suggested in https://reviews.llvm.org/D69277#1717210
In this form (this is what was suggested, right?), the results aren't staggering
(especially since given LVI cross-block focus)
this catch some things (as per test-suite), but not too much:

| statistic                                 | old    | new    | delta | % change |
| correlated-value-propagation.NumAddNSW    | 4981   | 4982   | 1     | 0.0201%  |
| correlated-value-propagation.NumAddNW     | 12125  | 12126  | 1     | 0.0082%  |
| correlated-value-propagation.NumCmps      | 1199   | 1202   | 3     | 0.2502%  |
| correlated-value-propagation.NumDeadCases | 112    | 111    | -1    | -0.8929% |
| correlated-value-propagation.NumMulNSW    | 275    | 278    | 3     | 1.0909%  |
| correlated-value-propagation.NumMulNUW    | 1323   | 1326   | 3     | 0.2268%  |
| correlated-value-propagation.NumMulNW     | 1598   | 1604   | 6     | 0.3755%  |
| correlated-value-propagation.NumNSW       | 7158   | 7167   | 9     | 0.1257%  |
| correlated-value-propagation.NumNUW       | 13304  | 13310  | 6     | 0.0451%  |
| correlated-value-propagation.NumNW        | 20462  | 20477  | 15    | 0.0733%  |
| correlated-value-propagation.NumOverflows | 4      | 7      | 3     | 75.0000% |
| correlated-value-propagation.NumPhis      | 15366  | 15381  | 15    | 0.0976%  |
| correlated-value-propagation.NumSExt      | 6273   | 6277   | 4     | 0.0638%  |
| correlated-value-propagation.NumShlNSW    | 1172   | 1171   | -1    | -0.0853% |
| correlated-value-propagation.NumShlNUW    | 2793   | 2794   | 1     | 0.0358%  |
| correlated-value-propagation.NumSubNSW    | 730    | 736    | 6     | 0.8219%  |
| correlated-value-propagation.NumSubNUW    | 2044   | 2046   | 2     | 0.0978%  |
| correlated-value-propagation.NumSubNW     | 2774   | 2782   | 8     | 0.2884%  |
| instcount.NumAddInst                      | 277586 | 277569 | -17   | -0.0061% |
| instcount.NumAndInst                      | 66056  | 66054  | -2    | -0.0030% |
| instcount.NumBrInst                       | 709147 | 709146 | -1    | -0.0001% |
| instcount.NumCallInst                     | 528579 | 528576 | -3    | -0.0006% |
| instcount.NumExtractValueInst             | 18307  | 18301  | -6    | -0.0328% |
| instcount.NumOrInst                       | 102660 | 102665 | 5     | 0.0049%  |
| instcount.NumPHIInst                      | 318008 | 318007 | -1    | -0.0003% |
| instcount.NumSelectInst                   | 46373  | 46370  | -3    | -0.0065% |
| instcount.NumSExtInst                     | 79496  | 79488  | -8    | -0.0101% |
| instcount.NumShlInst                      | 40654  | 40657  | 3     | 0.0074%  |
| instcount.NumTruncInst                    | 62251  | 62249  | -2    | -0.0032% |
| instcount.NumZExtInst                     | 68211  | 68221  | 10    | 0.0147%  |
| instcount.TotalBlocks                     | 843910 | 843909 | -1    | -0.0001% |
| instcount.TotalInsts                      | 7387448      | 7387423      | -25   | -0.0003% |
|


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69321

Files:
  llvm/include/llvm/IR/ConstantRange.h
  llvm/lib/Analysis/LazyValueInfo.cpp
  llvm/lib/IR/ConstantRange.cpp
  llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69321.226079.patch
Type: text/x-patch
Size: 4116 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191022/d64b3be9/attachment.bin>


More information about the llvm-commits mailing list