llvm-6502/lib
Jingyue Wu ed0d841f59 [DependenceAnalysis] Extend unifySubscriptType for handling coupled subscript groups.
Summary:
In continuation to an earlier commit to DependenceAnalysis.cpp by jingyue (r222100), the type for all subscripts in a coupled group need to be the same since constraints from one subscript may be propagated to another during testing. During testing, new SCEVs may be created and the operands for these need to be the same.
This patch extends unifySubscriptType() to work on lists of subscript pairs, ensuring a common extended type for all of them.

Test Plan:
Added a test case to NonCanonicalizedSubscript.ll which causes dependence analysis to crash without this fix.

All regression tests pass.

Reviewers: spop, sebpop, jingyue

Reviewed By: jingyue

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9698

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238573 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-29 16:58:08 +00:00
..
Analysis [DependenceAnalysis] Extend unifySubscriptType for handling coupled subscript groups. 2015-05-29 16:58:08 +00:00
AsmParser Fix typos in variable/grammar names. 2015-05-28 23:07:39 +00:00
Bitcode [BitcodeReader] Change assert to report_fatal_error 2015-05-27 01:05:40 +00:00
CodeGen This should have been a reference 2015-05-29 02:59:59 +00:00
DebugInfo DebugInfo: .debug_line DWARF64 support 2015-05-28 15:38:17 +00:00
ExecutionEngine [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
Fuzzer [lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity) 2015-05-26 20:57:47 +00:00
IR [IR] fptrunc-of-fptrunc isn't an EliminableCastPair. 2015-05-29 00:04:30 +00:00
IRReader
LineEditor
Linker
LTO
MC Simplify now that symbols contain the correct section. 2015-05-29 15:07:27 +00:00
Object Object: Add Archive::getNumberOfSymbols(). 2015-05-26 16:20:40 +00:00
Option
Passes
ProfileData
Support [ARMTargetParser] Adding sub-arch information for Clang. NFC 2015-05-28 15:05:18 +00:00
TableGen [TableGen] Remove convertValue functions for UnOpInit, BinOpInit, and TernOpInit as they weren't able to be called. 2015-05-29 05:51:32 +00:00
Target [Hexagon] Disassembling, printing, and emitting instructions a whole-bundle at a time which is the semantic unit for Hexagon. Fixing tests to use the new format. Disabling tests in the direct object emission path for a followup patch. 2015-05-29 14:44:13 +00:00
Transforms Enable exitValue rewrite only when the cost of expansion is low. 2015-05-28 21:49:07 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile