1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/IR
Nikita Popov cf4312ab1e [ConstantRange] Add saturating add/sub methods
Add support for uadd_sat and friends to ConstantRange, so we can
handle uadd.sat and friends in LVI. The implementation is forwarding
to the corresponding APInt methods with appropriate bounds.

One thing worth pointing out here is that the handling of wrapping
ranges is not maximally accurate. A simple example is that adding 0
to a wrapped range will return a full range, rather than the original
wrapped range. The tests also only check that the non-wrapping
envelope is correct and minimal.

Differential Revision: https://reviews.llvm.org/D60946

llvm-svn: 358855
2019-04-21 15:23:05 +00:00
..
AbstractCallSite.cpp
AsmWriter.cpp Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00
AttributeImpl.h
Attributes.cpp IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp [X86] Restore the pavg intrinsics. 2019-04-15 17:17:35 +00:00
BasicBlock.cpp
CMakeLists.txt Reland "[Remarks] Refactor remark diagnostic emission in a RemarkStreamer" 2019-03-06 15:20:13 +00:00
Comdat.cpp
ConstantFold.cpp [ConstantFold] Don't evaluate FP or FP vector casts or truncations when simplifying icmp 2019-04-12 07:34:30 +00:00
ConstantFold.h
ConstantRange.cpp [ConstantRange] Add saturating add/sub methods 2019-04-21 15:23:05 +00:00
Constants.cpp Change some StringRef::data() reinterpret_cast to bytes_begin() or arrayRefFromStringRef() 2019-04-07 03:58:42 +00:00
ConstantsContext.h
Core.cpp [LLVM-C] Correct The Current Debug Location Accessors (Again) 2019-04-10 14:19:05 +00:00
DataLayout.cpp [IR][ARM] Add function pointer alignment to datalayout 2019-03-08 10:44:06 +00:00
DebugInfo.cpp [LLVM-C] Add DIFile Field Accesssors 2019-04-17 13:29:14 +00:00
DebugInfoMetadata.cpp Revert r358268 "[DebugInfo] DW_OP_deref_size in PrologEpilogInserter." 2019-04-12 12:54:52 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp Revert "[Remarks] Refactor remark diagnostic emission in a RemarkStreamer" 2019-03-06 14:52:37 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00
Dominators.cpp
Function.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp [InstCombine] canonicalize select shuffles by commuting 2019-03-31 15:01:30 +00:00
IntrinsicInst.cpp [IR] Add WithOverflowInst class 2019-04-16 18:55:16 +00:00
IRBuilder.cpp
IRPrintingPasses.cpp
LegacyPassManager.cpp ftime-trace: Trace the name of the currently active pass as well. 2019-04-20 23:22:45 +00:00
LLVMBuild.txt
LLVMContext.cpp Reland "[Remarks] Refactor remark diagnostic emission in a RemarkStreamer" 2019-03-06 15:20:13 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00
Mangler.cpp
MDBuilder.cpp
Metadata.cpp
MetadataImpl.h
Module.cpp [PGO] Context sensitive PGO (part 2) 2019-02-28 19:55:07 +00:00
ModuleSummaryIndex.cpp [ThinLTO] Restructure AliasSummary to contain ValueInfo of Aliasee 2019-03-15 15:11:38 +00:00
Operator.cpp
OptBisect.cpp
Pass.cpp [IR] Refactor attribute methods in Function class (NFC) 2019-04-04 22:40:06 +00:00
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp [Legacy][TimePasses] allow -time-passes reporting into a custom stream 2019-03-22 23:11:08 +00:00
ProfileSummary.cpp [PGO] Context sensitive PGO (part 2) 2019-02-28 19:55:07 +00:00
RemarkStreamer.cpp Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
SafepointIRVerifier.cpp SafepointIRVerifier port to new Pass Manager 2019-03-31 10:15:39 +00:00
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp [IR][ARM] Add function pointer alignment to datalayout 2019-03-08 10:44:06 +00:00
ValueSymbolTable.cpp
Verifier.cpp Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00