History log of /external/llvm/include/llvm/ADT/Twine.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8bb3b098b98cd62f074bb488d8294498ae8121e3 18-Apr-2013 Eli Bendersky <eliben@google.com> Fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
2d9eb72178af8e79dc6432cd1b7d29bde16da1b9 13-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
50bee42b54cd9aec5f49566307df2b0cf23afcf6 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
3f25ee080ca7c92ff735df29c78e7cfbd62c8cb6 24-Jul-2011 Chris Lattner <sabre@nondot.org> Add Twine support for characters, and switch twine to use a union internally
to eliminate some casting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
7dc7ac3cb20b7ef8e6febe0ac3bc430230f29893 01-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/ADT/Twine: Add toNullTerminatedStringRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
326990f1eb7ff005adabe46a1f982eff8835813e 26-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
ea03e10facd07f0b239dcc3a5e31346686acae3c 05-May-2010 Chris Lattner <sabre@nondot.org> Implement rdar://7415680 - Twine integer support lacks greatness

Microoptimize Twine's with unsigned and int to not pin their value to
the stack. This saves stack space in common cases and allows mem2reg
in the caller. A simple example is:

void foo(const Twine &);
void bar(int x) {
foo("xyz: " + Twine(x));
}

Before:

__Z3bari:
subq $40, %rsp
movl %edi, 36(%rsp)
leaq L_.str3(%rip), %rax
leaq 36(%rsp), %rcx
leaq 8(%rsp), %rdi
movq %rax, 8(%rsp)
movq %rcx, 16(%rsp)
movb $3, 24(%rsp)
movb $7, 25(%rsp)
callq __Z3fooRKN4llvm5TwineE
addq $40, %rsp
ret

After:

__Z3bari:
subq $24, %rsp
leaq L_.str3(%rip), %rax
movq %rax, (%rsp)
movslq %edi, %rax
movq %rax, 8(%rsp)
movb $3, 16(%rsp)
movb $7, 17(%rsp)
leaq (%rsp), %rdi
callq __Z3fooRKN4llvm5TwineE
addq $24, %rsp
ret

It saves 16 bytes of stack and one instruction in this case.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
b357e06f672996400343d38b08014a5b6a7d5b2d 13-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Introduce Twine::toStringRef, a variant of toVector which avoids the copy if the
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
bf86e5df180139310bf2f0d71bef58e208dce31d 13-Jan-2010 Chris Lattner <sabre@nondot.org> add new isSingleStringRef()/getSingleStringRef() methods to twine,
and use them to avoid a copy of a string in getNameWithPrefix in
the common case. It seems like Value::setName and other places
should use this as well?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
b80077aae9fe51af78e6e25e26d09bf8efcd8244 19-Nov-2009 Daniel Dunbar <daniel@zuster.org> Twine: Stores kinds as uchar instead of bitfield to be friendlier to the
optimizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
8b67f774e9c38b7718b2b300b628388f966df4e0 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
5149932068f535e1ff13b91c9669f55718c60a07 20-Aug-2009 Daniel Dunbar <daniel@zuster.org> Add a fast path for setName("") on an unnamed value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
2d8bc0fe70c55664b89605dbfa5c2f591446469c 30-Jul-2009 Daniel Dunbar <daniel@zuster.org> Twine: Directly support int, long, and long long types.
- This should resolve Cygwin gcc ambiguities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
0fffbafa9609e0e289ff3120ab9e23d244c1dbc0 30-Jul-2009 Daniel Dunbar <daniel@zuster.org> Twine: Use raw_ostream::write_hex, remove unused itohexstr method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
fe09b2098ac483f6d6ce6ea4ab237a9539bdb6b9 30-Jul-2009 Daniel Dunbar <daniel@zuster.org> Twines: Don't allow implicit conversion from integers, this is too tricky.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
0165a2ca897598bb95baec031362921565e24f2b 30-Jul-2009 Daniel Dunbar <daniel@zuster.org> Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
explicitly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
37e3fe9ad7d7cb350cbbce0695c68d652d624bb4 29-Jul-2009 Benjamin Kramer <benny.kra@googlemail.com> MSVC build fix. Patch by Olaf Krzikalla!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
763457e70bc9c5c2def89d24a133808b8a971f9f 29-Jul-2009 Daniel Dunbar <daniel@zuster.org> Twines: Support numeric conversion directly (uitostr, etc).
- Provides static constructors for doing number to string conversions without
using temporaries.

- There are several ways to do this, I think given the Twine constraints this
is the simplest one.

- One FIXME for fast number -> hex conversion.

- Added another comment on one last major bit of perf work Twines need, which
is to make raw_svector_ostream more efficient.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
050578fb4a006d7a183662f83fc22f7c78475605 24-Jul-2009 Daniel Dunbar <daniel@zuster.org> Fix constructor types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h
2538f7ab2ef39ab1a5e48744548d66b560d1fee6 24-Jul-2009 Daniel Dunbar <daniel@zuster.org> Add Twine ADT.
- Not currently used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Twine.h