| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
r259192 post commit comment.
clang part in r259232, this is the LLVM part of the patch.
llvm-svn: 259240
|
|
|
|
| |
llvm-svn: 238126
|
|
|
|
| |
llvm-svn: 238125
|
|
|
|
|
|
|
|
| |
Enable removing .str() member calls for these frequent cases.
http://reviews.llvm.org/D6372
llvm-svn: 232465
|
|
|
|
| |
llvm-svn: 202316
|
|
|
|
|
|
| |
to eliminate some casting.
llvm-svn: 135888
|
|
|
|
|
|
| |
direct copy of that instead of first copying to a SmallString and converting that to a std::string. Also fix some indentation.
llvm-svn: 135267
|
|
|
|
| |
llvm-svn: 120791
|
|
|
|
| |
llvm-svn: 120600
|
|
|
|
| |
llvm-svn: 120166
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 103107
|
|
|
|
|
|
|
| |
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.
llvm-svn: 93317
|
|
|
|
| |
llvm-svn: 92640
|
|
|
|
| |
llvm-svn: 79437
|
|
|
|
| |
llvm-svn: 77859
|
|
|
|
|
|
| |
- This should resolve Cygwin gcc ambiguities.
llvm-svn: 77624
|
|
|
|
| |
llvm-svn: 77617
|
|
|
|
|
|
| |
explicitly.
llvm-svn: 77576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
llvm-svn: 77445
|
|
- Not currently used.
llvm-svn: 76956
|