[llvm] r248188 - [ADT] Remove a couple of the always inline attributes I added.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 11:02:24 PDT 2015

Author: chandlerc
Date: Mon Sep 21 13:02:24 2015
New Revision: 248188

URL: http://llvm.org/viewvc/llvm-project?rev=248188&view=rev
[ADT] Remove a couple of the always inline attributes I added.

Based on conversations with Justin and a few others, these constructors
are really useful to have in the executable so that you can call them
from the debugger. After some measurements, these *particular* calls
aren't so problematic as to make them a good tradeoff for always inline.

Please let me know if there are other functions really needed for
debugging. The always inline attribute is a hack that we should only
really employ when it doesn't hurt.


Modified: llvm/trunk/include/llvm/ADT/StringRef.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/StringRef.h?rev=248188&r1=248187&r2=248188&view=diff
--- llvm/trunk/include/llvm/ADT/StringRef.h (original)
+++ llvm/trunk/include/llvm/ADT/StringRef.h Mon Sep 21 13:02:24 2015
@@ -65,11 +65,9 @@ namespace llvm {
     /// @{
     /// Construct an empty string ref.
     /*implicit*/ StringRef() : Data(nullptr), Length(0) {}
     /// Construct a string ref from a cstring.
     /*implicit*/ StringRef(const char *Str)
       : Data(Str) {
         assert(Str && "StringRef cannot be built from a NULL argument");

More information about the llvm-commits mailing list