summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Timer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)Alexander Kornienko2015-06-231-2/+2
| | | | | | Apparently, the style needs to be agreed upon first. llvm-svn: 240390
* Fixed/added namespace ending comments using clang-tidy. NFCAlexander Kornienko2015-06-191-2/+2
| | | | | | | | | | | | | The patch is generated using this command: tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ llvm/lib/ Thanks to Eugene Kosov for the original patch! llvm-svn: 240137
* Purge unused includes throughout libSupport.Benjamin Kramer2015-03-231-2/+0
| | | | | | NFC. llvm-svn: 232976
* Modernize raw_fd_ostream's constructor a bit.Rafael Espindola2014-08-251-4/+4
| | | | | | | | | | Take a StringRef instead of a "const char *". Take a "std::error_code &" instead of a "std::string &" for error. A create static method would be even better, but this patch is already a bit too big. llvm-svn: 216393
* Kill the LLVM global lock.Zachary Turner2014-06-191-2/+2
| | | | | | | | | | | | | | This patch removes the LLVM global lock, and updates all existing users of the global lock to use their own mutex. None of the existing users of the global lock were protecting code that was mutually exclusive with any of the other users of the global lock, so its purpose was not being met. Reviewed by: rnk Differential Revision: http://reviews.llvm.org/D4142 llvm-svn: 211277
* Revert r211066, 211067, 211068, 211069, 211070.Zachary Turner2014-06-161-2/+3
| | | | | | | These were committed accidentally from the wrong branch before having a review sign-off. llvm-svn: 211072
* Kill the LLVM global lock.Zachary Turner2014-06-161-1/+1
| | | | llvm-svn: 211069
* Remove some more code out into a separate CL.Zachary Turner2014-06-161-1/+1
| | | | llvm-svn: 211067
* Users of the llvm global mutex must now acquire it manually.Zachary Turner2014-06-161-3/+2
| | | | | | This allows the mutex to be acquired in a guarded, RAII fashion. llvm-svn: 211066
* Revert "Remove support for runtime multi-threading."Zachary Turner2014-06-101-1/+2
| | | | | | This reverts revision r210600. llvm-svn: 210603
* Remove support for runtime multi-threading.Zachary Turner2014-06-101-2/+1
| | | | | | | | | | | | | | | | | | | | | This patch removes the functions llvm_start_multithreaded() and llvm_stop_multithreaded(), and changes llvm_is_multithreaded() to return a constant value based on the value of the compile-time definition LLVM_ENABLE_THREADS. Previously, it was possible to have compile-time support for threads on, and runtime support for threads off, in which case certain mutexes were not allocated or ever acquired. Now, if the build is created with threads enabled, mutexes are always acquired. A test before/after patch of compiling a very large TU showed no noticeable performance impact of this change. Reviewers: rnk Differential Revision: http://reviews.llvm.org/D4076 llvm-svn: 210600
* raw_ostream: Forward declare OpenFlags and include FileSystem.h only where ↵Benjamin Kramer2014-04-291-0/+1
| | | | | | necessary. llvm-svn: 207593
* [C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper2014-04-151-2/+2
| | | | | | instead of comparing to nullptr. llvm-svn: 206252
* [C++11] Replace some comparisons with 'nullptr' with simple boolean checks ↵Craig Topper2014-04-091-2/+2
| | | | | | to reduce verbosity. llvm-svn: 205829
* [C++11] Make use of 'nullptr' in the Support library.Craig Topper2014-04-071-8/+8
| | | | llvm-svn: 205697
* Replace OwningPtr<T> with std::unique_ptr<T>.Ahmed Charles2014-03-061-1/+0
| | | | | | | | | | This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. llvm-svn: 203083
* Revert "[C++11] Replace LLVM atomics with std::atomic."Benjamin Kramer2014-03-031-2/+2
| | | | | | | Breaks the MSVC build. DataStream.cpp(44): error C2552: 'llvm::Statistic::Value' : non-aggregates cannot be initialized with initializer list llvm-svn: 202731
* [C++11] Replace LLVM atomics with std::atomic.Benjamin Kramer2014-03-031-2/+2
| | | | | | | | | | | With C++11 we finally have a standardized way to specify atomic operations. Use them to replace the existing custom implemention. Sadly the translation is not entirely trivial as std::atomic allows more fine-grained control over the atomicity. I tried to preserve the old semantics as well as possible. Differential Revision: http://llvm-reviews.chandlerc.com/D2915 llvm-svn: 202730
* Replace the F_Binary flag with a F_Text one.Rafael Espindola2014-02-241-2/+2
| | | | | | | | | After this I will set the default back to F_None. The advantage is that before this patch forgetting to set F_Binary would corrupt a file on windows. Forgetting to set F_Text produces one that cannot be read in notepad, which is a better failure mode :-) llvm-svn: 202052
* Add a wrapper for open.Rafael Espindola2013-07-161-2/+2
| | | | | | | This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). llvm-svn: 186447
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-4/+4
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Add more PRI.64 macros for MSVC and use them throughout the codebase.Benjamin Kramer2011-11-051-1/+1
| | | | llvm-svn: 143799
* Let printf do the formatting instead aligning strings ourselves.Benjamin Kramer2011-10-161-10/+6
| | | | | | While at it, merge some format strings. llvm-svn: 142140
* Merge System into Support.Michael J. Spencer2010-11-291-2/+2
| | | | llvm-svn: 120298
* Roll back my last two commits, valgrind complains.Benjamin Kramer2010-08-071-3/+2
| | | | llvm-svn: 110518
* Kill rarely used std::sort.Benjamin Kramer2010-08-071-2/+3
| | | | llvm-svn: 110516
* Give NamedRegionTimer an Enabled flag, allowing all its clients toDan Gohman2010-06-181-4/+6
| | | | | | | | | | | | | | | | | | | | switch from this: if (TimePassesIsEnabled) { NamedRegionTimer T(Name, GroupName); do_something(); } else { do_something(); // duplicate the code, this time without a timer! } to this: { NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled); do_something(); } llvm-svn: 106285
* Add a comment explaining why this code uses Append mode.Dan Gohman2010-05-191-0/+4
| | | | llvm-svn: 104095
* Fix a bunch of namespace polution.Dan Gohman2010-04-151-0/+4
| | | | llvm-svn: 101376
* stringref'ize Timer apisChris Lattner2010-03-301-16/+15
| | | | llvm-svn: 99877
* finally, maintain a global list of timer groups, allowing us to Chris Lattner2010-03-301-0/+30
| | | | | | | implement TimerGroup::printAll, which prints and resets all active timers. llvm-svn: 99876
* add a new TimerGroup::print method, and refactor away the bogusChris Lattner2010-03-301-31/+52
| | | | | | TimerGroup copy ctor and assignment operator. llvm-svn: 99875
* rename GetLibSupportInfoOutputFile -> CreateInfoOutputFile andChris Lattner2010-03-301-12/+9
| | | | | | have it always return a new stream to simplify clients. llvm-svn: 99874
* if a timergroup is destroyed before its timers, print times.Chris Lattner2010-03-301-5/+13
| | | | llvm-svn: 99873
* change TimerGroup to keep a linked list of active timers Chris Lattner2010-03-301-55/+67
| | | | | | | | instead of just a count of them, and refactor the guts of report printing out of removeTimer into its own method. Refactor addTimerToPrint away. llvm-svn: 99872
* reapply my timer rewrite with a change for PassManager to store Chris Lattner2010-03-301-139/+85
| | | | | | timers by pointer instead of by-value. llvm-svn: 99871
* revert r99862 which is causing FNT failures.Chris Lattner2010-03-301-85/+139
| | | | llvm-svn: 99870
* fairly major rewrite of various timing related stuff.Chris Lattner2010-03-301-139/+85
| | | | llvm-svn: 99862
* move a function into a more logical place in the fileChris Lattner2010-03-291-22/+21
| | | | llvm-svn: 99842
* remove support for per-time peak memory tracking, thisChris Lattner2010-03-291-29/+4
| | | | | | | isn't used by anyone and is better exposed as a non-per-timer thing. Also, stop including System/Mutex.h in Timer.h llvm-svn: 99841
* various timer fixes: move operator= out of line,Chris Lattner2010-03-291-13/+20
| | | | | | | | | eliminate the per-timer lock (timers should be externally locked if needed), the info-output-stream can never be dbgs(), so drop the check. Make some stuff private. llvm-svn: 99839
* s/.../.Chris Lattner2010-03-291-7/+7
| | | | llvm-svn: 99834
* move code around and improve indentation, no functionality change.Chris Lattner2010-03-291-126/+124
| | | | llvm-svn: 99831
* Change errs() to dbgs().David Greene2010-01-051-1/+2
| | | | llvm-svn: 92645
* Fix a race condition in the Timer class.Owen Anderson2009-11-171-38/+5
| | | | llvm-svn: 89056
* Trailing whitespace.Mikhail Glushenkov2009-11-071-7/+7
| | | | llvm-svn: 86347
* remove some uses of llvm/Support/Streams.hChris Lattner2009-08-231-50/+28
| | | | llvm-svn: 79842
* Have scoped mutexes take referenes instead of pointers.Owen Anderson2009-07-071-7/+7
| | | | llvm-svn: 74931
* Make timers threadsafe again. This isn't quite as nice as I'd hoped (it ↵Owen Anderson2009-06-231-1/+53
| | | | | | | | | | uses locking rather than atomic arithmetic), but should work on all the platforms we care about. I might revisit this if a totally awesome way to do it occurs to me. llvm-svn: 74002
* Revert my last series of commits related to Timer and 64-bit atomics. Not ↵Owen Anderson2009-06-231-19/+19
| | | | | | | | all the targets we care about are capable of supporting it. llvm-svn: 73993
OpenPOWER on IntegriCloud