llvm-mirror/lib
Nikita Popov 768a368cf7 [KnownBits] Add computeForAddCarry()
This is for D60460. computeForAddSub() essentially already supports
carries because it has to deal with subtractions. This revision
extracts a lower-level computeForAddCarry() function, which allows
computing the known bits for add (carry known zero), sub (carry known
one) and addcarry (carry unknown).

As we don't seem to have any yet, I've added a unit test file for
KnownBits and exhaustive tests for the new computeForAddCarry()
functionality, as well the existing computeForAddSub() function.

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

llvm-svn: 358297
2019-04-12 18:18:08 +00:00
..
Analysis Use llvm::lower_bound. NFC 2019-04-12 02:02:06 +00:00
AsmParser Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00
BinaryFormat [XCOFF] Add functionality for parsing AIX XCOFF object file headers 2019-04-04 00:53:21 +00:00
Bitcode Use llvm::lower_bound. NFC 2019-04-12 02:02:06 +00:00
CodeGen [DAGCombiner] narrow shuffle of concatenated vectors 2019-04-12 16:31:56 +00:00
DebugInfo Use llvm::lower_bound. NFC 2019-04-12 02:02:06 +00:00
Demangle llvm-undname: Use UNREACHABLE after exhaustive switch returning everywhere 2019-04-11 23:23:00 +00:00
ExecutionEngine Simplify decoupling between RuntimeDyld/RuntimeDyldChecker, add 'got_addr' util. 2019-04-12 18:07:28 +00:00
Fuzzer
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
IR Revert r358268 "[DebugInfo] DW_OP_deref_size in PrologEpilogInserter." 2019-04-12 12:54:52 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
LTO Revert [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-08 18:53:21 +00:00
MC Move getNumFrameInfos and getDwarfFrameInfos out of line and remove 2019-04-12 07:42:35 +00:00
MCA [MCA] Add an experimental MicroOpQueue stage. 2019-03-29 12:15:37 +00:00
Object [LLVM-C] Add Section and Symbol Iterator Accessors for Object File Binaries 2019-04-09 21:53:31 +00:00
ObjectYAML Fix MSVC build for r357749 2019-04-05 08:26:58 +00:00
Option Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Passes SafepointIRVerifier port to new Pass Manager 2019-03-31 10:15:39 +00:00
ProfileData Change some StringRef::data() reinterpret_cast to bytes_begin() or arrayRefFromStringRef() 2019-04-07 03:58:42 +00:00
Remarks [Remarks] Fix mismatched delete due to missing virtual destructor 2019-03-20 17:44:24 +00:00
Support [KnownBits] Add computeForAddCarry() 2019-04-12 18:18:08 +00:00
TableGen [TableGen] Introduce !listsplat 'binary' operator 2019-04-10 18:26:36 +00:00
Target [Hexagon] Fix reuse bug in Vector Loop Carried Reuse pass 2019-04-12 16:37:12 +00:00
Testing Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextAPI [TextAPI] Prefix all architecture enums to fix the build on i386. 2019-04-04 22:56:50 +00:00
ToolDrivers [llvm-ar][libObject] Fix relative paths when nesting thin archives. 2019-02-13 23:39:41 +00:00
Transforms [DebugInfo] Fix pr41175 Dead Store Elimination missing debug loc 2019-04-12 09:47:35 +00:00
WindowsManifest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XRay Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00
LLVMBuild.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00