llvm-6502/test/Analysis
Sebastian Pop 421b2c571c remove constant terms
The delinearization is needed only to remove the non linearity induced by
expressions involving multiplications of parameters and induction variables.
There is no problem in dealing with constant times parameters, or constant times
an induction variable.

For this reason, the current patch discards all constant terms and multipliers
before running the delinearization algorithm on the terms. The only thing
remaining in the term expressions are parameters and multiply expressions of
parameters: these simplified term expressions are passed to the array shape
recognizer that will not recognize constant dimensions anymore: these will be
recognized as different strides in parametric subscripts.

The only important special case of a constant dimension is the size of elements.
Instead of relying on the delinearization to infer the size of an element,
compute the element size from the base address type. This is a much more precise
way of computing the element size than before, as we would have mixed together
the size of an element with the strides of the innermost dimension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209691 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-27 22:41:45 +00:00
..
BasicAA PR15967 Fix in basicaa for faulty returning no alias. 2014-03-26 21:30:19 +00:00
BlockFrequencyInfo Fix typos 2014-05-15 01:52:21 +00:00
BranchProbabilityInfo Fix a bug in which BranchProbabilityInfo wasn't setting branch weights of basic blocks inside loops correctly. 2014-04-14 16:56:19 +00:00
CallGraph [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CostModel AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
Delinearization remove constant terms 2014-05-27 22:41:45 +00:00
DependenceAnalysis remove constant terms 2014-05-27 22:41:45 +00:00
Dominators [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
GlobalsModRef BasicAA: Use reachabilty instead of dominance for checking value equality in phi 2014-01-03 05:47:03 +00:00
LazyCallGraph [LCG] Add support for building persistent and connected SCCs to the 2014-04-18 10:50:32 +00:00
Lint Teach lint about address spaces 2014-03-06 17:33:55 +00:00
LoopInfo FileCheck-ize tests. 2013-08-22 00:51:19 +00:00
MemoryDependenceAnalysis [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
PostDominators FileCheck-ize tests. 2013-08-22 00:51:19 +00:00
RegionInfo [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
ScalarEvolution Adding testcase for PR18886. 2014-05-27 06:44:25 +00:00
TypeBasedAliasAnalysis Fix known typos 2014-01-24 17:20:08 +00:00