Bill Wendling
fcc14141c7
Use the "NamedGroupTimer" class to categorize DWARF emission better.
...
llvm-svn: 100616
2010-04-07 09:28:04 +00:00
Benjamin Kramer
43c275fa56
Use raw_ostream.
...
llvm-svn: 100615
2010-04-07 09:26:51 +00:00
John McCall
8586bfd85d
@llvm.sqrt isn't really close enough to C's sqrt to justify emitting calls
...
to the intrinsic, even when math-errno is off.
Fixes rdar://problem/7828230 by falling back on the library function.
llvm-svn: 100613
2010-04-07 08:20:20 +00:00
Sanjiv Gupta
4948793041
Remove XFAIL for vg_leak as the leaks are fixed by 100601.
...
llvm-svn: 100612
2010-04-07 07:06:48 +00:00
Mon P Wang
508127b5fd
Update langref for memcpy, memmove, and memset
...
llvm-svn: 100611
2010-04-07 06:35:53 +00:00
Evan Cheng
5ed679282b
Add comments for missed opportunities.
...
llvm-svn: 100610
2010-04-07 06:00:33 +00:00
Evan Cheng
fcbcc0bd51
Fix typo.
...
llvm-svn: 100609
2010-04-07 05:59:12 +00:00
Chris Lattner
fdb76ccfb4
a ridiculous amount of propagation through the backend later,
...
have the code generate slap a srcloc metadata on inline asm nodes.
This allows us to diagnose invalid inline asms with such nice
diagnostics as:
<inline asm>:1:2: error: unrecognized instruction
abc incl %eax
^
asm.c:2:12: note: generated from here
__asm__ ("abc incl %0" : "+r" (X));
^
2 diagnostics generated.
llvm-svn: 100608
2010-04-07 05:46:54 +00:00
Chris Lattner
51065568cd
Have the inst emitter add the !srcloc mdnode to the machine instr.
...
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.
llvm-svn: 100607
2010-04-07 05:38:05 +00:00
Chris Lattner
d62adaa54d
remove another magic number.
...
llvm-svn: 100606
2010-04-07 05:27:36 +00:00
Chris Lattner
3b9f02a2aa
Three changes:
...
1. Introduce some enums and accessors in the InlineAsm class
that eliminate a ton of magic numbers when handling inline
asm SDNode.
2. Add a new MDNodeSDNode selection dag node type that holds
a MDNode (shocking!)
3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
metadata, propagating it to the instruction emitter, which
drops it.
No functionality change.
llvm-svn: 100605
2010-04-07 05:20:54 +00:00
Zhongxing Xu
7614b5b475
Fix comment.
...
llvm-svn: 100604
2010-04-07 04:40:26 +00:00
Ted Kremenek
232d44ed48
Update checker build.
...
llvm-svn: 100603
2010-04-07 04:09:49 +00:00
Chris Lattner
2e664bd915
fix a crash on invalid metadata, e.g.: call i32 @foo(), XXXX
...
We would return the error without inserting the new instruction
into the program, so it wouldn't get deallocated, and an abort
would trigger when the module was deleted.
llvm-svn: 100602
2010-04-07 04:08:57 +00:00
Sanjiv Gupta
dd1c82141c
Fix memory leaks for external symbol name strings.
...
llvm-svn: 100601
2010-04-07 03:36:01 +00:00
Jeffrey Yasskin
3b54129419
Deprecate CXXScopeSpec::isSet() in favor of isNotEmpty() or isValid().
...
llvm-svn: 100600
2010-04-07 01:55:59 +00:00
John McCall
6ac5cc973c
Clean up some signedness oddities in this code noticed by clang.
...
llvm-svn: 100599
2010-04-07 01:49:15 +00:00
Dale Johannesen
5d7f0a0fdd
Move printing of target-indepedent DEBUG_VALUE comments
...
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.
llvm-svn: 100596
2010-04-07 01:15:14 +00:00
John McCall
1bff99322a
Teach -Wsign-compare to treat 1 << blah as "idiomatically non-negative".
...
Fixes a spurious warning in LLVM.
llvm-svn: 100595
2010-04-07 01:14:35 +00:00
Ted Kremenek
6e95bfc6a5
Fix crash in StoreManager::CastRegion() when the base region is a type with 0 size.
...
llvm-svn: 100594
2010-04-07 00:46:49 +00:00
John McCall
8e36d53e34
Check access for the implicit calls to destructors that occur when we
...
have a temporary object in C++.
Also fix a tag mismatch that Doug noticed.
llvm-svn: 100593
2010-04-07 00:41:46 +00:00
Evan Cheng
6ea5949a93
Post regalloc LICM. Work in progress.
...
llvm-svn: 100592
2010-04-07 00:41:17 +00:00
Ted Kremenek
6ca136a77f
Fix CIndex crash on invalid code reported in <rdar://problem/7833619>.
...
llvm-svn: 100589
2010-04-07 00:27:13 +00:00
Fariborz Jahanian
ea7a133775
Improve on diagnostics when an objc class is used as
...
a stand-alone type declaration.
llvm-svn: 100588
2010-04-07 00:22:00 +00:00
Douglas Gregor
636a61e0d2
Implement code completion for Objective-C method declarations and
...
definitions, e.g., after
-
or
- (id)
we'll find all of the "likely" instance methods that one would want to
declare or define at this point. In the latter case, we only produce
results whose return types match "id".
llvm-svn: 100587
2010-04-07 00:21:17 +00:00
Devang Patel
019922d1b0
Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.
...
llvm-svn: 100586
2010-04-06 23:53:48 +00:00
Jakob Stoklund Olesen
20ea258a09
Let that which does not matter truly slide.
...
This test only cares about alignment, so don't test for other cruft.
An upcoming llvm-gcc patch needs this.
llvm-svn: 100584
2010-04-06 23:44:44 +00:00
Fariborz Jahanian
8409416db7
Minor clean up.
...
llvm-svn: 100583
2010-04-06 23:43:59 +00:00
Fariborz Jahanian
b2c1aac544
default access for synthesize ivar is @protect.
...
Fixes radar 7823675.
llvm-svn: 100582
2010-04-06 23:36:17 +00:00
John McCall
796583eec0
Fix a number of clang -Wsign-compare warnings that didn't have an obvious
...
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.
llvm-svn: 100581
2010-04-06 23:35:53 +00:00
Dale Johannesen
b36c70913b
Revert 100573, it's causing some testsuite problems.
...
llvm-svn: 100578
2010-04-06 22:45:26 +00:00
Fariborz Jahanian
6a0a2e0ccc
Patch to not build ivar ASTs when they are ilegally
...
declared in categories.
llvm-svn: 100577
2010-04-06 22:43:48 +00:00
John McCall
2351cb9139
Devote a special diagnostic to the typo
...
(void*) someFunction(5, 10, 15, 20);
where the cast is presumably meant to be to 'void'.
llvm-svn: 100574
2010-04-06 22:24:14 +00:00
Dale Johannesen
85b35b6214
Move printing of DEBUG_VALUE comments to target-independent place.
...
There is probably a more elegant way to do this.
llvm-svn: 100573
2010-04-06 22:21:07 +00:00
Ted Kremenek
f969841a1a
Teach MemRegion::getBaseRegion() about ObjCIvarRegions. We want to treat
...
them the same way as fields. This fixes a regression in RegionStore::RemoveDeadbindings()
that emerged from going to the cluster-based analysis.
llvm-svn: 100570
2010-04-06 22:06:03 +00:00
Bob Wilson
5202269dc4
Expand SELECT and SELECT_CC for NEON vector types.
...
Radar 7770501.
llvm-svn: 100568
2010-04-06 22:02:24 +00:00
Dale Johannesen
d1976e35c4
Allow for the possibility that a debug-value points
...
to a SDNode that didn't have code generated for it.
llvm-svn: 100566
2010-04-06 21:59:56 +00:00
Stuart Hastings
4bd3dd956f
Reverting 100530 & 100531 due to regressions in the GDB test suite.
...
llvm-svn: 100563
2010-04-06 21:38:29 +00:00
John McCall
a8ae222d0e
Implement the protected access restriction ([class.protected]), which requires
...
that protected members be used on objects of types which derive from the
naming class of the lookup. My first N attempts at this were poorly-founded,
largely because the standard is very badly worded here.
llvm-svn: 100562
2010-04-06 21:38:20 +00:00
Jim Grosbach
4dac890600
Fix PR6696 and PR6663
...
When a frame pointer is not otherwise required, and dynamic stack alignment
is necessary solely due to the spilling of a register with larger alignment
requirements than the default stack alignment, the frame pointer can be both
used as a general purpose register and a frame pointer. That goes poorly, for
obvious reasons. This patch brings back a bit of old logic for identifying
the use of such registers and conservatively reserves the frame pointer
during register allocation in such cases.
For now, implement for X86 only since it's 32-bit linux which is hitting this,
and we want a targeted fix for 2.7. As a follow-on, this will be expanded
to handle other targets, as theoretically the problem could arise elsewhere
as well.
llvm-svn: 100559
2010-04-06 20:26:37 +00:00
Douglas Gregor
c01890e1cc
When code completion produces an overload set as its results (e.g.,
...
while we're completing in the middle of a function call), also produce
"ordinary" name results that show what can be typed at that point.
llvm-svn: 100558
2010-04-06 20:19:47 +00:00
Douglas Gregor
2cb6c30673
Do not produce semicolons at the end of code-completion results
...
llvm-svn: 100557
2010-04-06 20:11:37 +00:00
Bill Wendling
167dffdb69
Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.
...
llvm-svn: 100556
2010-04-06 20:07:21 +00:00
Douglas Gregor
285560929f
Only prove macros as code-completion results when we're in a case
...
statement or for ordinary names. This means that we won't show macros
when completing, e.g., member expressions such as "p->".
llvm-svn: 100555
2010-04-06 20:02:15 +00:00
Jakob Stoklund Olesen
41051a0bfe
Don't try to collapse DomainValues onto an incompatible SSE domain.
...
This fixes the Bullet regression on i386/nocona.
llvm-svn: 100553
2010-04-06 19:48:56 +00:00
Ted Kremenek
7deb7050d5
Fix ccc-analyzer's handling of quoted arguments in the build command. Fixes PR 6791.[B
...
llvm-svn: 100551
2010-04-06 19:41:24 +00:00
Gabor Greif
df323a51f5
performance: get rid of repeated dereferencing of use_iterator by caching its result
...
llvm-svn: 100550
2010-04-06 19:32:30 +00:00
Gabor Greif
679728790b
make more two predicates constant
...
llvm-svn: 100549
2010-04-06 19:24:18 +00:00
Douglas Gregor
9d2ddb2e5d
When sending a message to "id", apply some heuristics to try to narrow
...
down the set of code-completion results based on Objective-C
conventions.
llvm-svn: 100548
2010-04-06 19:22:33 +00:00
Gabor Greif
08355d6cda
performance: get rid of repeated dereferencing of use_iterator by caching its result
...
llvm-svn: 100547
2010-04-06 19:14:05 +00:00