1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/IR
Roman Lebedev 94766775e2 [LVI][CVP] LazyValueInfoImpl::solveBlockValueBinaryOp(): use no-wrap flags from add op
Summary:
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 does 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% |

Reviewers: nikic, reames

Reviewed By: nikic

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69321
2019-10-23 18:17:32 +03:00
..
AbstractCallSite.cpp
AsmWriter.cpp [ThinLTO] Fix printing of NoInline function summary flag 2019-10-14 18:37:31 +00:00
AttributeImpl.h [Alignment][NFC] Attributes use Align/MaybeAlign 2019-10-22 09:51:06 +00:00
Attributes.cpp [Alignment][NFC] Use MaybeAlign in AttrBuilder 2019-10-22 11:57:52 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp Regex: Make "match" and "sub" const member functions 2019-09-24 14:42:36 +00:00
BasicBlock.cpp [FastISel] Fix insertion of unconditional branches during FastISel 2019-09-20 13:22:59 +00:00
CMakeLists.txt Link libpthread into LLVMCore.so 2019-08-15 18:06:30 +00:00
Comdat.cpp
ConstantFold.cpp [Alignment][NFC] Value::getPointerAlignment returns MaybeAlign 2019-10-15 13:58:22 +00:00
ConstantFold.h
ConstantRange.cpp [LVI][CVP] LazyValueInfoImpl::solveBlockValueBinaryOp(): use no-wrap flags from add op 2019-10-23 18:17:32 +03:00
Constants.cpp [Constant] Add 'isElementWiseEqual()' method 2019-08-24 06:49:51 +00:00
ConstantsContext.h Fix cppcheck variable shadow warning. NFCI. 2019-09-25 13:45:36 +00:00
Core.cpp [Alignment] Migrate Attribute::getWith(Stack)Alignment 2019-10-15 12:56:24 +00:00
DataLayout.cpp [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
DebugInfo.cpp Second attempt to add iterator_range::empty() 2019-10-07 18:14:24 +00:00
DebugInfoMetadata.cpp [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp Do a sweep of symbol internalization. NFC. 2019-08-23 19:59:23 +00:00
Dominators.cpp
Function.cpp [IntrinsicEmitter] Add overloaded type VecOfBitcastsToInt for SVE intrinsics 2019-10-02 09:25:02 +00:00
Globals.cpp [Alignment][NFC] Remove dependency on GlobalObject::setAlignment(unsigned) 2019-10-15 11:24:36 +00:00
GVMaterializer.cpp
InlineAsm.cpp [SVE][Inline-Asm] Add constraints for SVE predicate registers 2019-09-16 09:45:27 +00:00
Instruction.cpp [IR] Fix mayReadFromMemory() for writeonly calls 2019-10-21 06:52:08 +00:00
Instructions.cpp [Alignment][NFC] Convert StoreInst to MaybeAlign 2019-10-22 12:55:32 +00:00
IntrinsicInst.cpp [FPEnv] Add constrained intrinsics for lrint and lround 2019-10-07 13:20:00 +00:00
IRBuilder.cpp [Alignment] Migrate Attribute::getWith(Stack)Alignment 2019-10-15 12:56:24 +00:00
IRPrintingPasses.cpp [IRPrinting] Improve module pass printer to work better with -filter-print-funcs 2019-09-04 08:08:58 +00:00
LegacyPassManager.cpp [LegacyPassManager] Attempt to fix BasicBlockManager 2019-09-30 17:23:49 +00:00
LLVMBuild.txt
LLVMContext.cpp [IR] Consolidate fixed metadata kind definitions (NFC) 2019-07-29 20:24:20 +00:00
LLVMContextImpl.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
LLVMContextImpl.h
Mangler.cpp
MDBuilder.cpp Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +00:00
Metadata.cpp Reland: Dead Virtual Function Elimination 2019-10-17 09:58:57 +00:00
MetadataImpl.h
Module.cpp IR. Change strip* family of functions to not look through aliases. 2019-08-22 19:56:14 +00:00
ModuleSummaryIndex.cpp
Operator.cpp
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp
ProfileSummary.cpp
RemarkStreamer.cpp [Tools] Mark output of tools as text if it is text 2019-10-08 08:21:20 +00:00
SafepointIRVerifier.cpp SafepointIRVerifier - silence static analyzer dyn_cast<Instruction> null dereference warnings. NFCI. 2019-09-24 13:57:44 +00:00
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp [Alignment][NFC] Value::getPointerAlignment returns MaybeAlign 2019-10-15 13:58:22 +00:00
ValueSymbolTable.cpp
Verifier.cpp [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00