Commit Graph

74 Commits

Author SHA1 Message Date
Tobias Grosser c4a80160b0 doc: A source code with Polly does not use a separate module (by default)
llvm-svn: 268034
2016-04-29 12:35:46 +00:00
Tobias Grosser 77e2128580 docs: Fix section header committed in r264575
Ensure the length of the header underline matches the length of the header.
This prevents SPHINX from erroring on this file and consequently not updating
the documentation.

Also, make this its own point not belonging to the 'increased applicability'
section.

llvm-svn: 264592
2016-03-28 17:00:14 +00:00
Hongbin Zheng 52ae58259d Add fine-grain dependences analysis to release notes.
Differential Revision: http://reviews.llvm.org/D17905

llvm-svn: 264575
2016-03-28 12:41:49 +00:00
Tobias Grosser e34aa7f482 Add title above the release notes
llvm-svn: 264448
2016-03-25 19:23:54 +00:00
Tobias Grosser 7a1e66b98a docs: Show two levels of content in index:
llvm-svn: 264447
2016-03-25 19:23:52 +00:00
Tobias Grosser 054ca24be7 docs: Describe Polly in the LLVM pass pipeline
llvm-svn: 264446
2016-03-25 19:23:44 +00:00
Tobias Grosser ddca355fe3 docs: Clearify that our release note describe the upcoming release of Polly
llvm-svn: 264406
2016-03-25 14:22:53 +00:00
Tobias Grosser 563c57b2e7 docs: Add links to the old documentation
llvm-svn: 264404
2016-03-25 14:18:42 +00:00
Tobias Grosser e16b8df605 Center picture
llvm-svn: 264402
2016-03-25 14:09:40 +00:00
Tobias Grosser 063ca0fc50 docs: Add architecture diagram
llvm-svn: 264400
2016-03-25 13:44:30 +00:00
Johannes Doerfert 9ea44aee64 [DOCS] Exclude python and shell scripts
llvm-svn: 264273
2016-03-24 13:21:12 +00:00
Tobias Grosser 45a8534893 doxygen: Also show private members
llvm-svn: 262859
2016-03-07 21:38:19 +00:00
Tobias Grosser af97a282b9 Test documentation rebuild
llvm-svn: 262850
2016-03-07 20:44:20 +00:00
Tobias Grosser 4e442d75e5 docs: Fix some spelling mistakes
llvm-svn: 262647
2016-03-03 19:48:30 +00:00
Johannes Doerfert 0a21113a52 [DOC] Add documentation for the supported call instructions
llvm-svn: 262608
2016-03-03 11:33:49 +00:00
Johannes Doerfert d1be3b05bb [DOC] Add more documentation about the different element type support
llvm-svn: 262607
2016-03-03 11:33:30 +00:00
Tobias Grosser b4d54d7ccd docs: Drop modindex from sphinx
For an unknown reason modindex is not be built correctly by sphinx. Take it
out of the index until we can build it correctly.

llvm-svn: 262588
2016-03-03 07:01:00 +00:00
Tobias Grosser d840fc7277 Support accesses with differently sized types to the same array
This allows code such as:

void multiple_types(char *Short, char *Float, char *Double) {
  for (long i = 0; i < 100; i++) {
    Short[i] = *(short *)&Short[2 * i];
    Float[i] = *(float *)&Float[4 * i];
    Double[i] = *(double *)&Double[8 * i];
  }
}

To model such code we use as canonical element type of the modeled array the
smallest element type of all original array accesses, if type allocation sizes
are multiples of each other. Otherwise, we use a newly created iN type, where N
is the gcd of the allocation size of the types used in the accesses to this
array. Accesses with types larger as the canonical element type are modeled as
multiple accesses with the smaller type.

For example the second load access is modeled as:

  { Stmt_bb2[i0] -> MemRef_Float[o0] : 4i0 <= o0 <= 3 + 4i0 }

To support code-generating these memory accesses, we introduce a new method
getAccessAddressFunction that assigns each statement instance a single memory
location, the address we load from/store to. Currently we obtain this address by
taking the lexmin of the access function. We may consider keeping track of the
memory location more explicitly in the future.

We currently do _not_ handle multi-dimensional arrays and also keep the
restriction of not supporting accesses where the offset expression is not a
multiple of the access element type size. This patch adds tests that ensure
we correctly invalidate a scop in case these accesses are found. Both types of
accesses can be handled using the very same model, but are left to be added in
the future.

We also move the initialization of the scop-context into the constructor to
ensure it is already available when invalidating the scop.

Finally, we add this as a new item to the 2.9 release notes

Reviewers: jdoerfert, Meinersbur

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

llvm-svn: 259784
2016-02-04 13:18:42 +00:00
Tobias Grosser a91684d554 Add 3.9 release notes document
llvm-svn: 259768
2016-02-04 08:10:29 +00:00
Tobias Grosser 719f843e67 Add 'Using Polly with Clang' to Spinx
llvm-svn: 259767
2016-02-04 07:45:32 +00:00
Tobias Grosser d7ccafe35f Add Sphinx configuration
This just adds the basic configuration with an empty index/welcome page

llvm-svn: 259765
2016-02-04 07:27:57 +00:00
Tobias Grosser b6948c1289 Add basic doxygen infrastructure for Polly
llvm-svn: 259764
2016-02-04 07:16:36 +00:00
Tobias Grosser e80523350f Drop unused 'docs' directory
llvm-svn: 223608
2014-12-07 16:04:33 +00:00
Tobias Grosser 758053788b Add initial version of Polly
This version is equivalent to commit ba26ebece8f5be84e9bd6315611d412af797147e
in the old git repository.

llvm-svn: 130476
2011-04-29 06:27:02 +00:00