summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2015-11-24 17:06:38 +0000
committerTobias Grosser <tobias@grosser.es>2015-11-24 17:06:38 +0000
commit2f8e43d677cb655fd4efaf7d1aaca1a1773b9b13 (patch)
treec4a1812e9246fc48408ea5d5dad88133bd9faff8 /llvm/lib/Transforms
parent1b85d4c961e5142a672b18fa040a0b0441911c7c (diff)
downloadbcm5719-llvm-2f8e43d677cb655fd4efaf7d1aaca1a1773b9b13.tar.gz
bcm5719-llvm-2f8e43d677cb655fd4efaf7d1aaca1a1773b9b13.zip
ScopInfo: Add support for delinearizing fortran arrays
gfortran (and fortran in general?) does not compute the address of an array element directly from the array sizes (e.g., %s0, %s1), but takes first the maximum of the sizes and 0 (e.g., max(0, %s0)) before multiplying the resulting value with the per-dimension array subscript expressions. To successfully delinearize index expressions as we see them in fortran, we first filter 'smax' expressions out of the SCEV expression, use them to guess array size parameters and only then continue with the existing delinearization. llvm-svn: 253995
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud