| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 109598
|
|
|
|
|
|
|
|
|
| |
- Designed as a simple wrapper to allow clients to attempt to catch crashes
(memory errors, assertion violations, etc.) and do some kind of recovery.
- Currently doesn't actually attempt to catch crashes.
llvm-svn: 109586
|
|
|
|
| |
llvm-svn: 108366
|
|
|
|
| |
llvm-svn: 107785
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a
pointer to the start of the storage, and have SmallPtrSet pass in the value to use.
This has the disadvantage that SmallPtrSet becomes bigger by one pointer. It has
the advantage that it no longer uses tricky C++ rules, and is clearly correct while
I'm not sure the previous version was. This was inspired by g++-4.6 pointing out
that SmallPtrSetImpl was writing off the end of SmallArray, which it was. Since
SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to
valid memory. But it was writing off the end of the declared array type - sounds
kind of dubious to me, like it sounded dubious to g++-4.6. Maybe g++-4.6 is wrong
and this construct is perfectly valid and correctly compiled by all compilers, but
I think it is better to avoid the whole can of worms by avoiding this construct.
llvm-svn: 107285
|
|
|
|
| |
llvm-svn: 107042
|
|
|
|
|
|
| |
Remove library check and regenerate configure.
llvm-svn: 107028
|
|
|
|
| |
llvm-svn: 106856
|
|
|
|
|
|
| |
needs it.
llvm-svn: 106841
|
|
|
|
|
|
|
|
|
|
| |
buffer in the same chunk of memory.
2 less mallocs for every uninitialized MemoryBuffer and 1 less malloc for every
MemoryBuffer pointing to a memory range translate into 20% less mallocs on
clang -cc1 -Eonly Cocoa_h.m.
llvm-svn: 106839
|
|
|
|
|
|
|
| |
instead of a StringRef, avoiding the need to copy the string in the
common case.
llvm-svn: 106754
|
|
|
|
| |
llvm-svn: 106576
|
|
|
|
| |
llvm-svn: 106538
|
|
|
|
|
|
| |
large.
llvm-svn: 106390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
switch from this:
if (TimePassesIsEnabled) {
NamedRegionTimer T(Name, GroupName);
do_something();
} else {
do_something(); // duplicate the code, this time without a timer!
}
to this:
{
NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled);
do_something();
}
llvm-svn: 106285
|
|
|
|
|
|
|
|
|
| |
DW_OP_breg[0..31] to Dwarf.h.
Add "DW_" prefix to the llvm::dwarf::*String methods which did not
already have them in Dwarf.cpp.
llvm-svn: 106197
|
|
|
|
|
|
| |
no tolerance is set.
llvm-svn: 106033
|
|
|
|
|
|
|
|
|
| |
1..19 ok
to
1..20 o k
(yes, the odd space is necessary).
llvm-svn: 106032
|
|
|
|
| |
llvm-svn: 105620
|
|
|
|
|
|
| |
even/odd, since adjacent changes are more likely to be related.
llvm-svn: 105613
|
|
|
|
|
|
|
|
| |
top of the standard 'delta debugging' algorithm.
- This can give substantial speedups in the delta process for inputs we can construct dependency information for.
llvm-svn: 105612
|
|
|
|
|
|
|
| |
realloc implementation can try to expand the allocated memory block in-place,
avoiding the copy.
llvm-svn: 105605
|
|
|
|
| |
llvm-svn: 104959
|
|
|
|
| |
llvm-svn: 104958
|
|
|
|
| |
llvm-svn: 104855
|
|
|
|
|
|
|
| |
This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...
llvm-svn: 104745
|
|
|
|
| |
llvm-svn: 104300
|
|
|
|
| |
llvm-svn: 104095
|
|
|
|
|
|
| |
Update the comment.
llvm-svn: 104021
|
|
|
|
|
|
| |
Evzen Muller!
llvm-svn: 103877
|
|
|
|
|
|
|
|
|
| |
anything which would mess up binary/object comparisons. Currently:
- Disables 'Built on ...' in 'foo --version'.
- Disables timestamps from being embedded into .dir files.
llvm-svn: 103423
|
|
|
|
|
|
| |
ungracefully.
llvm-svn: 103334
|
|
|
|
|
|
|
|
| |
automatic syscall restarting is disabled.
Also, fix the build on systems which don't define EWOULDBLOCK.
llvm-svn: 103158
|
|
|
|
|
|
|
|
|
| |
EAGAIN and EWOULDBLOCK are used here.
Also, handle the case where a write call is interrupted after
some data has already been written.
llvm-svn: 103153
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This should fix mysteriously crashing boost regression tests when stderr is
managed by bjam (PR7043).
llvm-svn: 103085
|
|
|
|
| |
llvm-svn: 101812
|
|
|
|
| |
llvm-svn: 101805
|
|
|
|
| |
llvm-svn: 101692
|
|
|
|
| |
llvm-svn: 101376
|
|
|
|
| |
llvm-svn: 101138
|
|
|
|
|
|
|
| |
We have some code in llvm and clang where a BumpPtrAllocator is declared in a
class but never used in the common case. Stop wasting memory there.
llvm-svn: 101130
|
|
|
|
|
|
| |
patch by 'ether'.
llvm-svn: 101116
|
|
|
|
| |
llvm-svn: 100895
|
|
|
|
| |
llvm-svn: 100894
|
|
|
|
|
|
| |
passed to free.
llvm-svn: 100767
|
|
|
|
|
|
| |
and friends.
llvm-svn: 100717
|
|
|
|
| |
llvm-svn: 100709
|
|
|
|
|
|
|
| |
Add a simplified constructor for clients that don't have locations
like "file not found" errors.
llvm-svn: 100538
|
|
|
|
| |
llvm-svn: 100504
|