| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
We had various variants of defining dump() functions in LLVM. Normalize
them (this should just consistently implement the things discussed in
http://lists.llvm.org/pipermail/cfe-dev/2014-January/034323.html
For reference:
- Public headers should just declare the dump() method but not use
  LLVM_DUMP_METHOD or #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
- The definition of a dump method should look like this:
  #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void MyClass::dump() {
    // print stuff to dbgs()...
  }
  #endif
llvm-svn: 293359
 | 
| | 
| 
| 
| 
| 
|  | 
Differential Revision: https://reviews.llvm.org/D27835
llvm-svn: 290020
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 |