llvm-project/llvm
Pavel Labath 13b6a10e7b Add Chrono.h - std::chrono support header
Summary:
std::chrono mostly covers the functionality of llvm::sys::TimeValue and
lldb_private::TimeValue. This header adds a bit of utility functions and
typedefs, which make the usage of the library and porting code from TimeValues
easier.

Rationale:
- TimePoint typedef - precision of system_clock is implementation defined -
  using a well-defined precision helps maintain consistency between platforms,
  makes it interact better with existing TimeValue classes, and avoids cases
  there a time point is implicitly convertible to a specific precision on some
  platforms but not on others.
- system_clock::to_time_t only accepts time_points with the default system
  precision (even though time_t has only second precision on all platforms we
  support). To avoid the need for explicit casts, I have added a toTimeT()
  wrapper function. toTimePoint(time_t) was not strictly necessary, but I have
  added it for symmetry.

Reviewers: zturner, mehdi_amini

Subscribers: beanz, mgorny, llvm-commits, modocache

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

llvm-svn: 284590
2016-10-19 13:58:55 +00:00
..
bindings DebugInfo: change alignment type from uint64_t to uint32_t to save space. 2016-10-18 14:31:22 +00:00
cmake [docs] Increase minimum supported GCC version for building LLVM to 4.8 2016-10-18 17:17:37 +00:00
docs [docs] Increase minimum supported GCC version for building LLVM to 4.8 2016-10-18 17:17:37 +00:00
examples [Kaleidoscope] Make Chapter 2 use llvm::make_unique, rather than a helper. 2016-09-19 23:00:27 +00:00
include Add Chrono.h - std::chrono support header 2016-10-19 13:58:55 +00:00
lib Add Chrono.h - std::chrono support header 2016-10-19 13:58:55 +00:00
projects [CMake] Correct configuration order of the sub-projects based on ther dependancies 2016-10-09 20:38:29 +00:00
resources
runtimes [CMake] Fixing lit for runtimes directory 2016-09-15 06:14:13 +00:00
test Reapply r284571 (with the new tests fixed). 2016-10-19 13:43:02 +00:00
tools dwarfdump: -summarize-types: print a short summary (unqualified type name, hash, length) of type units rather than dumping contents 2016-10-18 21:09:48 +00:00
unittests Add Chrono.h - std::chrono support header 2016-10-19 13:58:55 +00:00
utils Improve tablegen gen-subtarget diagnostics for missing machine models. 2016-10-18 04:17:44 +00:00
.arcconfig project_id is from another era in phabricator land and does not provide any value. 2016-09-27 15:47:29 +00:00
.clang-format
.clang-tidy .clang-tidy: correct style name is 'camelBack' not 'lowerCase'. 2016-09-13 19:04:26 +00:00
.gitignore gitignore: ignore VS Code editor files 2016-09-02 22:54:26 +00:00
CMakeLists.txt [cmake] Declare LLVM_CMAKE_PATH for use in subprojects 2016-10-19 12:18:34 +00:00
CODE_OWNERS.TXT Take ownership of libLTO as discussed on llvm-dev. 2016-09-15 17:42:39 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.