llvm-project/polly/include/polly
Singapuram Sanjay Srivallabh 1abd9ffa37 [PPCGCodeGen] Differentiate kernels based on their parent Scop
Summary:
Add a sequence number that identifies a ptx_kernel's parent Scop within a function to it's name to differentiate it from other kernels produced from the same function, yet different Scops.

Kernels produced from different Scops can end up having the same name. Consider a function with 2 Scops and each Scop being able to produce just one kernel. Both of these kernels have the name "kernel_0". This can lead to the wrong kernel being launched when the runtime picks a kernel from its cache based on the name alone. This patch supplements D33985, by differentiating kernels across Scops as well.

Previously (even before D33985) while profiling kernels generated through JIT e.g. Julia, [[ https://groups.google.com/d/msg/polly-dev/J1j587H3-Qw/mR-jfL16BgAJ | kernels associated with different functions, and even different SCoPs within a function, would be grouped together due to the common name ]]. This patch prevents this grouping and the kernels are reported separately.

Reviewers: grosser, bollu

Reviewed By: grosser

Subscribers: mehdi_amini, nemanjai, pollydev, kbarton

Tags: #polly

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

llvm-svn: 307814
2017-07-12 16:46:19 +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 [NFC] [SCEVValidator] Make parameter name of `hasScalarDepsInsideRegion` consistent. 2017-07-12 15:32:30 +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
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 [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +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