[Fortran Support] Detect Fortran arrays & metadata from dragonegg output
commita0502f1c784788ddd413d192383d5ea54943dab7
authorSiddharth Bhat <siddu.druid@gmail.com>
Wed, 10 May 2017 13:11:20 +0000 (10 13:11 +0000)
committerSiddharth Bhat <siddu.druid@gmail.com>
Wed, 10 May 2017 13:11:20 +0000 (10 13:11 +0000)
tree69305e2281fbbdd67dedd237e6a5723656be824d
parent48084147791960723b84c57eb20295676d94cbc0
[Fortran Support] Detect Fortran arrays & metadata from dragonegg output

Add the ability to tag certain memory accesses as those belonging to
Fortran arrays. We do this by pattern matching against known patterns
of Dragonegg's LLVM IR output from Fortran code.

Fortran arrays have metadata stored with them in a struct. This struct
is called the "Fortran array descriptor", and a reference to this is
stored in each MemoryAccess.

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

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@302653 91177308-0d34-0410-b5e6-96231b3b80d8
include/polly/ScopBuilder.h
include/polly/ScopInfo.h
lib/Analysis/ScopBuilder.cpp
lib/Analysis/ScopInfo.cpp
test/FortranDetection/global-malloc-nonvectored.ll [new file with mode: 0644]
test/FortranDetection/global-nonmalloc-nonvectored.ll [new file with mode: 0644]