llvm-mirror/unittests
Juneyoung Lee 55591e689c [ValueTracking] isKnownNonZero, computeKnownBits for freeze
This implements support for isKnownNonZero, computeKnownBits when freeze is involved.

```
  br (x != 0), BB1, BB2
BB1:
  y = freeze x
```

In the above program, we can say that y is non-zero. The reason is as follows:

(1) If x was poison, `br (x != 0)` raised UB
(2) If x was fully undef, the branch again raised UB
(3) If x was non-zero partially undef, say `undef | 1`, `freeze x` will return a nondeterministic value which is also non-zero.
(4) If x was just a concrete value, it is trivial

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D75808
2020-09-10 08:07:38 +09:00
..
ADT [RFC][Target] Add a new triple called Triple::csky 2020-09-02 12:46:09 +08:00
Analysis [ValueTracking] isKnownNonZero, computeKnownBits for freeze 2020-09-10 08:07:38 +09:00
AsmParser [SVE] Remove calls to VectorType::getNumElements from AsmParserTest 2020-07-07 14:55:42 -07:00
BinaryFormat [BinaryFormat] Add formatv support for DW_OP constants 2020-06-08 15:27:44 +02:00
Bitcode [strictfp] Replace dangling strictfp attrs with nobuiltin 2020-06-15 10:05:35 -04:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen [KnownBits] Implement accurate unsigned and signed max and min 2020-09-07 09:09:01 +01:00
DebugInfo [Test] Simplify DWARF test cases. NFC. 2020-08-31 14:03:48 +08:00
Demangle Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ExecutionEngine [ORC] Add unit test for HasMaterializationSideEffectsOnly failure behavior. 2020-09-01 12:34:34 -07:00
FileCheck Reland [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library 2020-09-01 14:59:28 +02:00
Frontend [OpenMP][OMPBuilder] Adding support for omp single 2020-08-16 01:15:16 -04:00
FuzzMutate Revert "Revert "[NFC][llvm] Make the contructors of ElementCount private."" 2020-08-19 17:26:36 +00:00
InterfaceStub [elfabi] Move llvm-elfabi related code to InterfaceStub library 2020-08-13 11:51:44 -07:00
IR [SVE] Make ElementCount members private 2020-08-28 14:43:53 +01:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [AIX][XCOFF] add symbol priority for the llvm-objdump -D -symbol-description 2020-05-29 11:08:51 -04:00
MI LIS: fix handleMove to properly extend main range 2020-07-07 11:52:32 -07:00
Object [ELF] Add a new e_machine value EM_CSKY and add some CSKY relocation types 2020-09-07 10:42:28 +08:00
ObjectYAML [DWARFYAML] Replace InitialLength with Format and Length. NFC. 2020-08-13 18:39:03 +08:00
Option [OptTable] Support grouped short options 2020-07-17 09:32:43 -07:00
Passes Don't export symbols from clang/opt/llc if plugins are disabled. 2020-03-23 12:17:09 -07:00
ProfileData [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
Remarks [Remarks] Fix error message check in unit test 2019-10-31 15:51:36 -07:00
Support [llvm] [unittest] Allow getting a C string from the TempDir helper class 2020-09-09 01:53:15 +03:00
TableGen Make unittests include path relative 2020-02-21 10:19:11 +01:00
Target [ARM] Allow tail predication of VLDn 2020-08-18 17:15:45 +01:00
TextAPI [MachO] Add skeletal support for DriverKit platform 2020-08-14 12:36:43 -07:00
tools [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
Transforms [Cloning] Fix to cloning DISubprograms. 2020-08-21 11:54:56 -07:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt Reland [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library 2020-09-01 14:59:28 +02:00
unittest.cfg.in