hanchenye-llvm-project/llvm/lib
Alp Toker 042f41b047 StringRef: Extend constexpr capabilities and introduce ConstStringRef
(1) Add llvm_expect(), an asserting macro that can be evaluated as a constexpr
    expression as well as a runtime assert or compiler hint in release builds. This
    technique can be used to construct functions that are both unevaluated and
    compiled depending on usage.

(2) Update StringRef using llvm_expect() to preserve runtime assertions while
    extending the same checks to static asserts in C++11 builds that support the
    feature.

(3) Introduce ConstStringRef, a strong subclass of StringRef that references
    compile-time constant strings. It's convertible to, but not from, ordinary
    StringRef and thus can be used to add compile-time safety to various interfaces
    in LLVM and clang that only accept fixed inputs such as diagnostic format
    strings that tend to get misused.

llvm-svn: 200187
2014-01-27 04:07:17 +00:00
..
Analysis Revert "Revert "Add Constant Hoisting Pass" (r200034)" 2014-01-25 02:02:55 +00:00
AsmParser Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
Bitcode Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
CodeGen Pass a MCSubtargetInfo down to the TargetStreamer creation. 2014-01-26 06:38:58 +00:00
DebugInfo [Sparc] Add support for parsing DW_CFA_GNU_window_save. 2014-01-26 05:13:44 +00:00
ExecutionEngine Fix known typos 2014-01-24 17:20:08 +00:00
IR Fix llvm-dis to print the inalloca bit on allocas. 2014-01-25 01:24:06 +00:00
IRReader Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
LTO Construct the MCStreamer before constructing the MCTargetStreamer. 2014-01-26 06:06:37 +00:00
Linker Reapply r194218 with fix: 2014-01-16 06:29:36 +00:00
MC AsmParser: improve diagnostics for invalid variants 2014-01-26 22:29:43 +00:00
Object llvm-readobj: add support for PE32+ (Windows 64 bit executable). 2014-01-26 04:15:52 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support StringRef: Extend constexpr capabilities and introduce ConstStringRef 2014-01-27 04:07:17 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target Print .frame via the target streamer. 2014-01-27 03:53:56 +00:00
Transforms [LPM] Conclude my immediate work by making the LoopVectorizer 2014-01-25 10:01:55 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00