summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/RuntimeDebugBuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* polly/ADT: Remove implicit ilist iterator conversions, NFCDuncan P. N. Exon Smith2015-11-061-1/+1
| | | | | | | | | | | | | Remove all the implicit ilist iterator conversions from polly, in preparation for making them illegal in ADT. There was one oddity I came across: at line 95 of lib/CodeGen/LoopGenerators.cpp, there was a post-increment `Builder.GetInsertPoint()++`. Since it was a no-op, I removed it, but I admit I wonder if it might be a bug (both before and after this change)? Perhaps it should be a pre-increment? llvm-svn: 252357
* RunTimeDebugBuilder: Allocate memory _after_ knowing how much is neededTobias Grosser2015-11-051-7/+7
| | | | | | | This fixes a memory corruption issue, where we accessed more memory than actually allocated. llvm-svn: 252197
* Add option -polly-codegen-add-debug-printingTobias Grosser2015-09-061-31/+78
| | | | | | | | | | | | | When this option is enabled, Polly will emit printf calls for each scalar load/and store which dump the scalar value loaded/stored at run time. This patch also refactors the RuntimeDebugBuilder to use variadic templates when generating CPU printfs. As result, it now becomes easier to print strings that consist of a set of arguments. Also, as a single printf call is emitted, it is more likely for such strings to be emitted atomically if executed multi-threaded. llvm-svn: 246941
* RuntimeDebugPrinter: Simplify code [NFC]Tobias Grosser2015-09-061-12/+8
| | | | llvm-svn: 246940
* GPURuntimeDebugPrinter: Printer pointer values (except if they are strings)Tobias Grosser2015-07-171-7/+12
| | | | | | | Only pointer values in constant address space are assumed to be strings. For all other pointers their address is printed. llvm-svn: 242524
* Print thread-identifiers in GPU debug outputTobias Grosser2015-07-061-1/+46
| | | | | | This helps us to understand which thread prints which information. llvm-svn: 241452
* Fix the clang -Werror build (-Wbraced-scalar-init)David Blaikie2015-06-191-1/+1
| | | | llvm-svn: 240172
* Add NVIDIA vprintf printing to RuntimeDebugBuilderTobias Grosser2015-06-191-0/+101
| | | | | | 2nd try, this time with the corresponding LLVM IRBuilder changes in place. llvm-svn: 240119
* Revert "Add NVIDIA vprintf printing to RuntimeDebugBuilder"Tobias Grosser2015-06-081-101/+0
| | | | | | | This reverts commit 239219 which requires some LLVM changes I forgot to commit. Reported-by: Marshall Clow llvm-svn: 239306
* Add NVIDIA vprintf printing to RuntimeDebugBuilderTobias Grosser2015-06-061-0/+101
| | | | llvm-svn: 239219
* Adapt to IRBuilder::CreateCall interface changeTobias Grosser2015-05-191-1/+1
| | | | | | | The IRBuilder::CreateCall interface was changed in r237624 and now requires an initializer list. llvm-svn: 237666
* Sort include directivesTobias Grosser2015-05-091-1/+0
| | | | | | | | | | Upcoming revisions of isl require us to include header files explicitly, which have previously been already transitively included. Before we add them, we sort the existing includes. Thanks to Chandler for sort_includes.py. A simple, but very convenient script. llvm-svn: 236930
* Use argument type directly from fflush if available in translation unitTobias Grosser2014-11-041-1/+7
| | | | | | | | | | | | | | | When our RuntimeDebugBuilder calles fflush(NULL) to flush all output streams, it is important that the types we use in the call match the ones used in a declaration of fflush possible already available in the translation unit. As we just pass on a NULL pointer, the type of the pointer value does not really matter. However, as LLVM complains in case of mismatched types, we make sure to create a NULL pointer of identical type. No test case, as RuntimeDebugBuilder is not permanently used in Polly. Calls to it are until now only used to add informative output during debugging sessions. llvm-svn: 221251
* [Refactor] Expose the runtime debug builderJohannes Doerfert2014-07-241-0/+74
llvm-svn: 213908
OpenPOWER on IntegriCloud