llvm-project/polly/include/polly
Daniel Neilson 77a98366ce Change memcpy/memove/memset to have dest and source alignment attributes.
Summary:
  This change is step four in the series of changes to remove alignment argument from
memcpy/memmove/memset in favour of alignment attributes. Steps:

Step 1) Remove alignment parameter and create alignment parameter attributes for
memcpy/memmove/memset. ( rL322965, rC322964, rL322963 )
Step 2) Expand the IRBuilder API to allow creation of memcpy/memmove with differing
source and dest alignments. ( rL323597 )
Step 3) Update Clang to use the new IRBuilder API. ( rC323617 )
Step 4) Update Polly to use the new IRBuilder API.
Step 5) Update LLVM passes that create memcpy/memmove calls to use the new IRBuilder API,
and those that use use MemIntrinsicInst::[get|set]Alignment() to use [get|set]DestAlignment()
and [get|set]SourceAlignment() instead.
Step 6) Remove the single-alignment IRBuilder API for memcpy/memmove, and the
MemIntrinsicInst::[get|set]Alignment() methods.

Reference
   http://lists.llvm.org/pipermail/llvm-dev/2015-August/089384.html
   http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/312083.html

Reviewers: jdoerfert, grosser, bollu

Subscribers: llvm-commits

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

llvm-svn: 323618
2018-01-28 18:13:57 +00:00
..
CodeGen [Acc] Do not statically dispatch into IslNodeBuilder's createFor 2017-10-29 21:36:34 +00:00
Config [CMake] Retire Polly's FindCUDA.cmake in favour of CMake's default FindCUDA.cmake script. 2017-06-06 19:20:48 +00:00
Support Change memcpy/memove/memset to have dest and source alignment attributes. 2018-01-28 18:13:57 +00:00
Canonicalization.h Drop '@brief' from doxygen comments 2016-09-02 06:33:33 +00:00
CodePreparation.h Add missing license text to two headers. NFC. 2017-08-10 15:40:36 +00:00
DeLICM.h [DeLICM] Export Known and Written to DeLICMTests. NFC. 2017-04-13 16:32:39 +00:00
DependenceInfo.h Check whether IslAstInfo and DependenceInfo were computed for the same Scop. 2017-09-21 00:01:13 +00:00
FlattenAlgo.h Introduce isl C++ bindings, Part 1: value_ptr style interface 2017-03-10 11:41:03 +00:00
FlattenSchedule.h Fix namespaces after clang-format update 2017-03-01 15:54:27 +00:00
ForwardOpTree.h [Polly] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-24 21:22:41 +00:00
JSONExporter.h Add missing license text to two headers. NFC. 2017-08-10 15:40:36 +00:00
LinkAllPasses.h [ScopInliner] Add a simple Scop-based inliner to polly. 2017-08-17 21:57:23 +00:00
Options.h
PolyhedralInfo.h [NFC] [PolyhedralInfo] fix typo 2017-05-23 11:41:52 +00:00
PruneUnprofitable.h [Polly] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-25 21:35:27 +00:00
RegisterPasses.h clang-tidy: Add llvm namespace comments 2016-06-23 22:17:27 +00:00
ScheduleOptimizer.h Port ScopInfo to the isl cpp bindings 2017-11-19 22:13:34 +00:00
ScopBuilder.h [ScopBuilder] Split statements on encountering store instructions. 2017-12-11 12:51:24 +00:00
ScopDetection.h [PM] Properly require and preserve OptimizationRemarkEmitter. NFCI. 2017-08-28 14:07:33 +00:00
ScopDetectionDiagnostic.h [Polly] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-25 21:35:27 +00:00
ScopInfo.h [ScopBuilder] Prefer PHI Write accesses in the statement the incoming value is defined. 2018-01-23 23:56:36 +00:00
ScopPass.h Update formatting to reflect change in clang-format. NFC. 2017-11-09 16:33:29 +00:00
Simplify.h Add more statistics. 2017-08-23 13:50:30 +00:00
ZoneAlgo.h [nfc] Iwyu: forward-declare/include raw_ostream in zone algo 2017-11-17 11:34:29 +00:00