llvm-project/llvm/lib
Florian Hahn 75be1a9e58 [ValueTracking] Fix recurrence detection to check both PHI operands.
Summary:
Currently we fail to compute known bits for recurrences where the
first incoming value is the start value of the recurrence.

Instead of exiting the loop when the first incoming value is not
the step of the recurrence, continue to check the second incoming
value.

The original code uses a loop to handle both cases, but incorrectly
exits instead of continuing.

Reviewers: lebedev.ri, spatel, nikic

Reviewed By: lebedev.ri

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

llvm-svn: 369088
2019-08-16 09:15:02 +00:00
..
Analysis [ValueTracking] Fix recurrence detection to check both PHI operands. 2019-08-16 09:15:02 +00:00
AsmParser [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
BinaryFormat [Dwarf] Complete the list of type tags. 2019-08-13 17:00:54 +00:00
Bitcode [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen [GlobalISel] CSEMIRBuilder: Add support for G_GEP 2019-08-15 23:45:45 +00:00
DebugInfo Remove the temporary code. NFC. 2019-08-16 03:40:04 +00:00
Demangle llvm-undname: Correctly demangle vararg parameters 2019-06-04 19:10:08 +00:00
ExecutionEngine [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
FuzzMutate [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Fuzzer
IR Link libpthread into LLVMCore.so 2019-08-15 18:06:30 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LTO [NewPM][PassInstrumentation] IR printing support for (Thin)LTO 2019-08-15 17:47:44 +00:00
LineEditor [CMake] Delete redundant DEPENDS/LINK_LIBS from LineEditor/XRay 2019-06-22 01:50:21 +00:00
Linker Linker: Add support for GlobalIFunc. 2019-08-08 22:09:18 +00:00
MC [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MCA [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Object [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
ObjectYAML [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Option [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Passes Title: Loop Cache Analysis 2019-08-09 13:56:29 +00:00
ProfileData [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Remarks [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Support [Support] Re-introduce the RWMutexImpl for macOS < 10.12 2019-08-15 23:07:20 +00:00
TableGen [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Target [X86] Manually reimplement getTargetInsertSubreg in X86DAGToDAGISel::matchBitExtract so we can call insertDAGNode on the target constant. 2019-08-16 04:47:44 +00:00
Testing [Testing] Move clangd::Annotations to llvm testing support 2019-04-25 10:08:31 +00:00
TextAPI [TextAPI] Fix & Add tests for tbd files version 3. 2019-08-12 23:01:07 +00:00
ToolDrivers [llvm-dlltool] Clarify an error message. NFC. 2019-08-02 11:20:03 +00:00
Transforms Move isPointerOffset function to ValueTracking (NFC). 2019-08-15 22:58:28 +00:00
WindowsManifest [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
XRay [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
CMakeLists.txt Fix build errors LLVM tests are disabled. 2019-07-11 22:08:35 +00:00
LLVMBuild.txt [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00