llvm/lib
Brendon Cahoon f2a1839566 [DependenceAnalysis] Make sure base objects are the same when comparing GEPs
The dependence analysis was returning incorrect information when using the GEPs
to compute dependences. The analysis uses the GEP indices under certain
conditions, but was doing it incorrectly when the base objects of the GEP are
aliases, but pointing to different locations in the same array.

This patch adds another check for the base objects. If the base pointer SCEVs
are not equal, then the dependence analysis should fall back on the path
that uses the whole SCEV for the dependence check. This fixes PR33567.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307203 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-05 21:35:47 +00:00
..
Analysis [DependenceAnalysis] Make sure base objects are the same when comparing GEPs 2017-07-05 21:35:47 +00:00
AsmParser Add dependency from AsmParser to BinaryFormat. 2017-06-07 04:24:33 +00:00
BinaryFormat Revert "Revert "Replace trivial use of external rc.exe by writing our own .res file."" 2017-07-05 19:04:48 +00:00
Bitcode Add missing library dependency. 2017-06-28 00:05:27 +00:00
CodeGen {DAGCombiner] Fold (rot x, 0) -> x 2017-07-05 18:27:11 +00:00
DebugInfo fix trivial typos in comments; NFC 2017-07-03 06:32:59 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine DebugInfo: Generalize LoadedObjectInfoHelper from RuntimeDyld 2017-07-05 15:23:56 +00:00
Fuzzer [libFuzzer] change the default max_len from 64 to 4096. This will affect cases where libFuzzer is run w/o initial corpus or with a corpus of very small items. 2017-06-15 22:43:40 +00:00
IR [SafepointIRVerifier] Add verifier pass for finding GC relocation bugs 2017-07-05 01:16:29 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LineEditor
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
LTO [ORE] Unify spelling as "diagnostics hotness" 2017-06-30 18:13:59 +00:00
MC [WebAssembly] Fix types for address taken functions 2017-07-05 20:25:08 +00:00
Object Revert "Revert "Replace trivial use of external rc.exe by writing our own .res file."" 2017-07-05 19:04:48 +00:00
ObjectYAML [ObjectYAML] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-07-01 01:35:55 +00:00
Option [Bash-autocompletion] Show flags which has HelpText or GroupID 2017-07-05 02:36:32 +00:00
Passes Hook the sample PGO machinery in the new PM 2017-06-29 23:33:05 +00:00
ProfileData [Coverage] Remove two overloads of CoverageMapping::load. NFC. 2017-06-30 00:45:26 +00:00
Support Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR 2017-06-30 20:56:57 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target [WebAssembly] Fix types for address taken functions 2017-07-05 20:25:08 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Transforms [InstCombine] Use CmpInst::Predicate with m_Cmp instead of ICmpInst::Predicate. NFC 2017-07-05 20:31:00 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00
LLVMBuild.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00