Benjamin Kramer
300c063db3
CXXRecordDecl: Split getBases/getVBases into a slow and a fast path.
...
This avoids costly computation of getASTContext() and drops the header
dependency from DeclCXX.h to ASTContext.h.
llvm-svn: 159716
2012-07-04 17:03:33 +00:00
Rafael Espindola
1a7cf13215
Add a testcase for pr13209. It is not a great test, but it still fails if
...
159509 and 159479 are reverted. It would be really nice to be able to run
just the coalescer :-(
llvm-svn: 159715
2012-07-04 16:06:00 +00:00
Alexey Samsonov
b4ea34f5d7
[TSan] Improve output tests: allow reports to contain file:line:column instead of file:line
...
llvm-svn: 159714
2012-07-04 15:48:05 +00:00
Alexander Potapenko
77769caaef
Do not call malloc_zone_from_ptr() for the pointers passed to mz_size() and mz_free().
...
These callbacks assume that the memory belongs to asan_zone, so it's incorrect to pass it to another one.
If a need for this appears (e.g. system libraries free the memory using wrong zone), it should be documented.
llvm-svn: 159713
2012-07-04 13:58:07 +00:00
David Chisnall
da22535573
Hoist the logic for selecting the Objective-C dispatch method into the runtime
...
class, from the target. No functionality change, just less duplicated logic.
llvm-svn: 159710
2012-07-04 11:52:24 +00:00
Alexey Samsonov
3ac4548c92
[ASan] Minor fix in symbolizer output.
...
llvm-svn: 159709
2012-07-04 10:58:35 +00:00
David Chisnall
314896c9fc
A few more cleanups for the GNU family of ObjC runtimes.
...
llvm-svn: 159708
2012-07-04 10:37:03 +00:00
Alexey Samsonov
5cbbf4ca57
Fix a bug in DebugInfo lib, extend a comment for one of the methods
...
llvm-svn: 159707
2012-07-04 09:42:54 +00:00
Abramo Bagnara
e06a8887d8
Renamed RawComment kinds to avoid name clash.
...
llvm-svn: 159706
2012-07-04 07:30:26 +00:00
Stepan Dyatkovskiy
a3b11bdbea
Reverted r159658:
...
Optimized diff operation: implemented the case when LHS and RHS subsets contains single numbers only.
llvm-svn: 159704
2012-07-04 06:07:06 +00:00
Stepan Dyatkovskiy
7ff588f986
Reverted r156659, due to probable performance regressions, DenseMap should be used here:
...
IntegersSubsetMapping
- Replaced type of Items field from std::list with std::map. In neares future I'll test it with DenseMap and do the correspond replacement
if possible.
llvm-svn: 159703
2012-07-04 05:53:05 +00:00
Nick Kledzik
686eec102c
Add missing LLVMSupport
...
llvm-svn: 159702
2012-07-04 02:16:35 +00:00
Eric Christopher
ef9d710ea6
Reduce some code duplication.
...
llvm-svn: 159701
2012-07-04 02:02:18 +00:00
Sean Callanan
585c0ec8e1
Fixed a potential crash if a metadata category
...
we write into doesn't already exist.
<rdar://problem/11775508>
llvm-svn: 159700
2012-07-04 01:26:26 +00:00
Matt Beaumont-Gay
11d08b2e22
Fix some ascii art in a comment to not have trailing backslashes (inspiration
...
from IfConversion.cc), and fix some spelling and grammar in the surrounding
prose.
llvm-svn: 159699
2012-07-04 01:09:45 +00:00
Jim Ingham
43c555dfcd
Work around some problems destroying a process with older debugservers.
...
rdar://problem/11359989
llvm-svn: 159697
2012-07-04 00:35:43 +00:00
Bob Wilson
ef285b4c22
Move a comment from the commit message into the code.
...
llvm-svn: 159696
2012-07-04 00:18:41 +00:00
Jakob Stoklund Olesen
49e4d4b3ef
Add early if-conversion support to X86.
...
Implement the TII hooks needed by EarlyIfConversion to create cmov
instructions and estimate their latency.
Early if-conversion is still not enabled by default.
llvm-svn: 159695
2012-07-04 00:09:58 +00:00
Jakob Stoklund Olesen
f8a63a1507
Add an experimental early if-conversion pass, off by default.
...
This pass performs if-conversion on SSA form machine code by
speculatively executing both sides of the branch and using a cmov
instruction to select the result. This can help lower the number of
branch mispredictions on architectures like x86 that don't have
predicable instructions.
The current implementation is very aggressive, and causes regressions on
mosts tests. It needs good heuristics that have yet to be implemented.
llvm-svn: 159694
2012-07-04 00:09:54 +00:00
Fariborz Jahanian
8be1ecd615
Obj-C++11 parser: handle a fall out of delayed
...
c-function parsing when a declaration with
C++0x braced-init-list is inside an @implementation.
llvm-svn: 159693
2012-07-03 23:22:13 +00:00
Jordan Rose
017591ab45
[analyzer] For now, don't inline non-static member overloaded operators.
...
Our current inlining support (specifically RegionStore::enterStackFrame)
doesn't know that calls to overloaded operators may be calls to non-static
member functions, and that in these cases the first argument should be
treated as 'this'. This caused incorrect results and sometimes crashes.
The long-term fix will be to rewrite RegionStore::enterStackFrame to use
CallEvent and its subclasses, but for now we can just disable these
problematic calls by classifying them under a new CallEvent,
CXXMemberOperatorCall.
llvm-svn: 159692
2012-07-03 22:55:57 +00:00
Fariborz Jahanian
8a369a82d5
Obj-C++11 parser: fix broken parsing of c-function
...
defined in class implementations.
llvm-svn: 159691
2012-07-03 22:54:28 +00:00
Fariborz Jahanian
f30f6ac7b9
Obj-C++11 parser: turn off buffering of
...
c-function defined in objc class
implementation for now.
llvm-svn: 159690
2012-07-03 22:29:23 +00:00
Fariborz Jahanian
450bb6e8ff
objective-c: Refactor parse/sema portion of
...
objective-c's fast enumeration statement,
for more work to come.
llvm-svn: 159689
2012-07-03 22:00:52 +00:00
Greg Clayton
f7ab038ada
Make the interactive command interpreter build into the "crashlog" command work correctly when run inside LLDB. Before this fix the "cmd.Cmd" object was trying to read from stdin itself and it was competing without command interpreter for the bytes.
...
llvm-svn: 159688
2012-07-03 21:40:18 +00:00
Nuno Lopes
0d44a50426
PHINode::hasConstantValue(): return undef if the PHI is fully recursive.
...
Thanks Duncan for the idea
llvm-svn: 159687
2012-07-03 21:15:40 +00:00
Greg Clayton
c8a0ce0a7a
<rdar://problem/11800213>
...
Fixed a crasher in the "thread continue" code. There were many logic errors in the DoExecute function where thread index IDs were being used where the actual zero based thread index should have been used. This could cause crashes to happen since looking up a thread by index ID, when the zero based index of a thread should be used would return an empty thread shared pointer and cause a NULL deref.
llvm-svn: 159686
2012-07-03 20:54:16 +00:00
Greg Clayton
d7331f2acb
Improved the name comparing logic a bit.
...
llvm-svn: 159685
2012-07-03 20:52:00 +00:00
David Chisnall
b601c96892
Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstep
...
runtime to gnustep from gnu. Fix EH for the GCC runtime.
llvm-svn: 159684
2012-07-03 20:49:52 +00:00
Bob Wilson
1e148fe064
When using -pg targeting OS X 10.8, pass -no_new_main to the linker.
...
By default on OS X 10.8, we don't link with a crt1.o file and the linker
knows to use _main as the entry point. But, when compiling with -pg, we
need to link with the gcrt1.o file, and the linker needs to be told to use
the "start" symbol as the entry point. The -no_new_main linker option does
that last part. <rdar://problem/11491405>
llvm-svn: 159683
2012-07-03 20:42:10 +00:00
Arnaud A. de Grandmaison
fa6d73cc90
[libclang] CompilationDatabase naming and comment fixes
...
llvm-svn: 159682
2012-07-03 20:38:12 +00:00
Dmitri Gribenko
93976cc136
CommentLexer: remove Markdown tokens from the token list (they are not emitted by lexer).
...
llvm-svn: 159681
2012-07-03 20:21:49 +00:00
Bill Wendling
a0bc1083be
Use the DebugInfo's 'print()' method to emit the comments.
...
These give quite a bit more information about the DebugInfo and makes it more
readable.
llvm-svn: 159680
2012-07-03 20:01:02 +00:00
DeLesley Hutchins
3a8d6cff14
Thread safety analysis: improve handling of smart pointers.
...
llvm-svn: 159679
2012-07-03 19:47:18 +00:00
Akira Hatanaka
e1e3ad3d11
Make the following changes in the way Mips handles vector arguments and return
...
values:
- Return integer vectors in integer registers.
- Pass vector arguments in integer registers.
- Set an upper bound for argument alignment. The largest alignment is 8-byte
for O32 and 16-byte for N32/64.
llvm-svn: 159676
2012-07-03 19:24:06 +00:00
DeLesley Hutchins
0c1da20bf8
Thread Safety Analysis: handle expressions involving temporaries,
...
e.g. ExprWithCleanups.
llvm-svn: 159674
2012-07-03 18:25:56 +00:00
Dmitri Gribenko
767ea0ff4a
CommentBriefParser: remove dead store. Found by Clang Analyzer.
...
llvm-svn: 159673
2012-07-03 18:10:20 +00:00
Nuno Lopes
1e8dffdf27
BoundsChecking: optimize out the check for offset < 0 if size is known to be >= 0 (signed).
...
(LLVM optimizers cannot do this optimization by themselves)
llvm-svn: 159668
2012-07-03 17:30:18 +00:00
Nuno Lopes
9291ff4078
fold PHI nodes in SizeOffsetEvaluator whenever possible.
...
Unfortunately this change requires the cache map to hold WeakVHs instead
llvm-svn: 159667
2012-07-03 17:13:25 +00:00
Nuno Lopes
90c76dfb17
improve PHINode::hasConstantValue() to detect recursive cases like %phi = phi(%phi,42) as constant
...
llvm-svn: 159666
2012-07-03 17:10:28 +00:00
Hal Finkel
6b984f084c
Add additional architecture defines for PPC targets.
...
Patch by Andy Gibbs.
llvm-svn: 159665
2012-07-03 16:51:04 +00:00
Argyrios Kyrtzidis
4cf2ffe28b
[libclang] Protect against a race condition where a thread
...
may be destroying an ASTUnit while cleanupOnDiskMapAtExit is
getting called.
rdar://11781241
llvm-svn: 159664
2012-07-03 16:30:52 +00:00
NAKAMURA Takumi
da94a2d901
clang/utils/TableGen/ClangAttrEmitter.cpp: Fix abuse of StringRef (from getValueAsString()).
...
llvm-svn: 159662
2012-07-03 14:45:09 +00:00
Stepan Dyatkovskiy
9f3d5d6d5f
IntegersSubsetMappin: cosmetic changes in diff operation.
...
llvm-svn: 159661
2012-07-03 14:29:26 +00:00
Stepan Dyatkovskiy
f2127fb741
Part of r159527. Splitted into series of patches and gone with fixed PR13256:
...
IntegersSubsetMapping
Added new methods
- add(self& RHS, SuccessorClass *S)
- detachCase
- removeCase
- findSuccessor
- getCases
- getCaseSingleNumber
- isOverlapped
llvm-svn: 159660
2012-07-03 14:15:36 +00:00
Stepan Dyatkovskiy
8b0c97e0dd
Part of r159527. Splitted into series of patches and gone with fixed PR13256:
...
IntegersSubsetMapping
- Replaced type of Items field from std::list with std::map. In neares future I'll test it with DenseMap and do the correspond replacement
if possible.
llvm-svn: 159659
2012-07-03 13:46:45 +00:00
Stepan Dyatkovskiy
438ba5f0bd
Part of r159527. Splitted into series of patches and gone with fixed PR13256:
...
Optimized diff operation: implemented the case when LHS and RHS subsets contains single numbers only.
llvm-svn: 159658
2012-07-03 13:29:14 +00:00
Peter Collingbourne
2165cf6e36
Document the llvm.fabs intrinsic.
...
llvm-svn: 159657
2012-07-03 12:25:40 +00:00
Alexey Samsonov
716aa7e2f2
[ASan] fixup for r159652
...
llvm-svn: 159655
2012-07-03 09:06:39 +00:00
Alexey Samsonov
961276af26
[Sanitizer] Extend a symbolizer code. Implemented for Linux only. Use dl_iterate_phdr to get virtual addresses of mapped module sections. To symbolize an address from a module, map this module to memory and obtain pointers to debug info sections. Later these pointers can be passed to constructor of DWARF context-in-memory from LLVM DebugInfo lib.
...
llvm-svn: 159652
2012-07-03 08:24:14 +00:00