llvm-project/polly/include/polly
Singapuram Sanjay Srivallabh 02ca346e48 Introduce a hybrid target to generate code for either the GPU or CPU
Summary:
Introduce a "hybrid" `-polly-target` option to optimise code for either the GPU or CPU.

When this target is selected, PPCGCodeGeneration will attempt first to optimise a Scop. If the Scop isn't modified, it is then sent to the passes that form the CPU pipeline, i.e. IslScheduleOptimizerPass, IslAstInfoWrapperPass and CodeGeneration.

In case the Scop is modified, it is marked to be skipped by the subsequent CPU optimisation passes.

Reviewers: grosser, Meinersbur, bollu

Reviewed By: grosser

Subscribers: kbarton, nemanjai, pollydev

Tags: #polly

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

llvm-svn: 306863
2017-06-30 19:42:21 +00:00
..
CodeGen Heap allocation for new arrays. 2017-06-28 13:02:43 +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 [ScopInfo] Do not use ScopStmt in Domain derivation of ScopInfo. NFC 2017-06-29 12:47:41 +00:00
Canonicalization.h Drop '@brief' from doxygen comments 2016-09-02 06:33:33 +00:00
DeLICM.h [DeLICM] Export Known and Written to DeLICMTests. NFC. 2017-04-13 16:32:39 +00:00
DependenceInfo.h Fix a lot of typos. NFC. 2017-06-08 12:06:15 +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
LinkAllPasses.h [Polly][NewPM] Port IslAst to the new ScopPassManager 2017-05-23 10:12:56 +00:00
Options.h Move polly options into separate option category 2013-05-07 07:31:10 +00:00
PolyhedralInfo.h [NFC] [PolyhedralInfo] fix typo 2017-05-23 11:41:52 +00:00
PruneUnprofitable.h [PruneUnprofitable] Add -polly-prune-unprofitable pass. 2017-03-17 13:09:52 +00:00
RegisterPasses.h clang-tidy: Add llvm namespace comments 2016-06-23 22:17:27 +00:00
ScheduleOptimizer.h [ScheduleOptimizer] Move isolateFullPartialTiles and isolateAndUnrollMatMulInnerLoops to C++ 2017-06-19 10:40:12 +00:00
ScopBuilder.h [ScopBuilder] Pass ScopStmts around instead of BasicBlocks. NFC. 2017-06-23 17:55:36 +00:00
ScopDetection.h Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
ScopDetectionDiagnostic.h Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
ScopInfo.h Introduce a hybrid target to generate code for either the GPU or CPU 2017-06-30 19:42:21 +00:00
ScopPass.h Update to latest clang-format changes 2017-06-24 05:23:10 +00:00
Simplify.h [Simplify] Add -polly-simplify pass. 2017-03-10 16:05:24 +00:00