Chad Rosier
2ad368fce3
[driver] Add support for -g2 and -ggdb debug flags.
...
rdar://10947759
llvm-svn: 151654
2012-02-28 20:49:04 +00:00
David Chisnall
c73fb894af
Add -lm by default on Solaris.
...
llvm-svn: 151653
2012-02-28 20:06:45 +00:00
Howard Hinnant
9bb1429f20
Reduce the number of move constructions when constructing a std::function. This fixes http://llvm.org/bugs/show_bug.cgi?id=12105 .
...
llvm-svn: 151652
2012-02-28 19:47:38 +00:00
Chandler Carruth
0bd3913d96
Temporarily revert r151609, which enabled a new warning for LLVM and
...
Clang builds. The detection logic for compilers that support the warning
isn't working. Rafael is going to investigate it, but didn't want people
to have to wade through build spam until then.
llvm-svn: 151649
2012-02-28 19:26:56 +00:00
David Chisnall
e0a7c28627
It turns out -fno-cxa-atexit just produces broken code, so disable it on Solaris and we'll ship a __cxa_atexit implementation...
...
llvm-svn: 151648
2012-02-28 19:15:06 +00:00
Jim Grosbach
a0ec8896ac
ARM vbit/vbif/vbsl assembly optional size suffix.
...
These instructions accept but do not require a size suffix.
rdar://10947225
llvm-svn: 151646
2012-02-28 19:11:07 +00:00
Evan Cheng
65f9d19c4f
Re-commit r151623 with fix. Only issue special no-return calls if it's a direct call.
...
llvm-svn: 151645
2012-02-28 18:51:51 +00:00
Benjamin Kramer
f2e160c665
Fix off-by one in comment.
...
llvm-svn: 151644
2012-02-28 18:37:06 +00:00
Greg Clayton
352c2e07fd
Fix the linux build now that we link against the Linux and FreeBSD platforms.
...
llvm-svn: 151642
2012-02-28 18:25:00 +00:00
James Molloy
ecd2edf50c
Un-break clang based on r151638 - What was meant to be a trivial variable name change went horribly wrong and I forgot to retest afterwards.
...
llvm-svn: 151641
2012-02-28 18:23:49 +00:00
Johnny Chen
64e2e516bc
Forgot to check in this file with r151593.
...
llvm-svn: 151640
2012-02-28 18:16:44 +00:00
Roman Divacky
34d4b9682b
Properly MCize the section switch, removing a FIXME.
...
llvm-svn: 151639
2012-02-28 18:15:25 +00:00
James Molloy
051390fffa
Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
...
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
llvm-svn: 151638
2012-02-28 18:12:11 +00:00
Benjamin Kramer
0c281a7deb
LegalizeIntegerTypes: Reenable the large shift with small amount optimization.
...
To avoid problems with zero shifts when getting the bits that move between words
we use a trick: first shift the by amount-1, then do another shift by one. When
amount is 0 (and size 32) we first shift by 31, then by one, instead of by 32.
Also fix a latent bug that emitted the low and high words in the wrong order
when shifting right.
Fixes PR12113.
llvm-svn: 151637
2012-02-28 17:58:00 +00:00
Sean Callanan
378ecbe6f4
Extended the IR interpreter to support symbols
...
that have valid load addresses.
llvm-svn: 151636
2012-02-28 17:55:31 +00:00
Argyrios Kyrtzidis
3460880674
[AST] When we @synthesize a property with a user-defined ivar name,
...
make sure to record the source location of the ivar name.
[libclang] When indexing @synthesized objc methods, report the @implementation
as the lexical container.
Fixes rdar://10905472
llvm-svn: 151635
2012-02-28 17:50:39 +00:00
Argyrios Kyrtzidis
93db2923da
[libclang] When indexing an objc property, also provide information about
...
the getter/setter objc method entities that the property is associated with.
rdar://10244558
llvm-svn: 151634
2012-02-28 17:50:33 +00:00
Argyrios Kyrtzidis
ceeb19cf18
[AST] Associate the getter/setter methods to a property of a objc class extension.
...
[libclang] Index the getter/setter methods of a property of a objc class extension.
Fixes rdar://10907597
llvm-svn: 151633
2012-02-28 17:50:28 +00:00
David Chisnall
0c52c0f0fd
Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it).
...
llvm-svn: 151632
2012-02-28 17:10:04 +00:00
Daniel Dunbar
f3d3b0134d
Remove stray semi-colons.
...
llvm-svn: 151631
2012-02-28 15:36:15 +00:00
Daniel Dunbar
ee7b899343
Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part.
...
llvm-svn: 151630
2012-02-28 15:36:07 +00:00
Daniel Dunbar
9512c46cc3
Remove stray semi-colon.
...
llvm-svn: 151629
2012-02-28 15:35:52 +00:00
Nadav Rotem
1d666099be
Code cleanup following CR by Duncan.
...
llvm-svn: 151627
2012-02-28 14:13:19 +00:00
Nadav Rotem
875e463b19
Fix a bug in the code that builds SDNodes from vector GEPs.
...
When the GEP index is a vector of pointers, the code that calculated the size
of the element started from the vector type, and not the contained pointer type.
As a result, instead of looking at the data element pointed by the vector, this
code used the size of the vector. This works for 32bit members (on 32bit
systems), but not for other types. Added code to peel the vector type and
added a test.
llvm-svn: 151626
2012-02-28 11:54:05 +00:00
Jia Liu
f54f60f3ce
remove blanks, and some code format
...
llvm-svn: 151625
2012-02-28 07:46:26 +00:00
Evan Cheng
87c7b09d8d
Some ARM implementaions, e.g. A-series, does return stack prediction. That is,
...
the processor keeps a return addresses stack (RAS) which stores the address
and the instruction execution state of the instruction after a function-call
type branch instruction.
Calling a "noreturn" function with normal call instructions (e.g. bl) can
corrupt RAS and causes 100% return misprediction so LLVM should use a
unconditional branch instead. i.e.
mov lr, pc
b _foo
The "mov lr, pc" is issued in order to get proper backtrace.
rdar://8979299
llvm-svn: 151623
2012-02-28 06:42:03 +00:00
Craig Topper
ccd651cac8
Convert generated intrinsic attributes to use an array lookup as Chris suggested in PR11951.
...
llvm-svn: 151622
2012-02-28 06:32:00 +00:00
Pete Cooper
39b5255df4
Reverted r152620 - DSE: Shorten memset when a later store overwrites the start of it. There were all sorts of buildbot issues
...
llvm-svn: 151621
2012-02-28 05:06:24 +00:00
Pete Cooper
f3862f91de
DSE: Shorten memset when a later store overwrites the start of it
...
llvm-svn: 151620
2012-02-28 04:27:10 +00:00
Bill Wendling
d48b7783e8
Oops...Don't commit the other stuff..
...
llvm-svn: 151618
2012-02-28 04:01:21 +00:00
Bill Wendling
73799f68d8
Modify comment to reflect the importance of this code.
...
llvm-svn: 151617
2012-02-28 03:47:09 +00:00
Eli Friedman
7dff8a68df
Basic coverage test for conversion-to-block-pointer for lambda expressions.
...
llvm-svn: 151616
2012-02-28 03:32:48 +00:00
Akira Hatanaka
b2b980e628
Add comments.
...
llvm-svn: 151615
2012-02-28 03:18:43 +00:00
Akira Hatanaka
b8a8e0c262
Do not reserve $gp as a dedicated global base register if the target ABI is not O32.
...
llvm-svn: 151614
2012-02-28 03:17:38 +00:00
Anna Zaks
6ca4fd5b88
[analyzer] Leaks should be uniqued by the allocation point in the
...
closest function context (Keychain API).
llvm-svn: 151613
2012-02-28 03:07:06 +00:00
Charles Davis
e56294dbc6
Strip extraneous information, if present, from the linker version string on
...
Mac OS X. Patch by Fabian Groffen, with a slight tweak by me.
llvm-svn: 151612
2012-02-28 02:55:41 +00:00
Akira Hatanaka
330d901ce3
Add support for floating point base register + offset register addressing mode
...
load and store instructions.
llvm-svn: 151611
2012-02-28 02:55:02 +00:00
Jakob Stoklund Olesen
4c5ad2b812
Handle regmasks in MachineCSE.
...
Don't attempt to extend physreg live ranges across calls.
<rdar://problem/10942095>
llvm-svn: 151610
2012-02-28 02:08:50 +00:00
Rafael Espindola
334eaeae8e
Enable -Wcovered-switch-default as it matches the switch style used in llvm.
...
llvm-svn: 151609
2012-02-28 02:01:55 +00:00
Anna Zaks
06a77fc1b9
[analyzer] Fix Malloc False Positive (PR 12100)
...
When allocated buffer is passed to CF/NS..NoCopy functions, the
ownership is transfered unless the deallocator argument is set to
'kCFAllocatorNull'.
llvm-svn: 151608
2012-02-28 01:54:22 +00:00
Jakob Stoklund Olesen
16c4a972db
Handle regmasks in the machine code verifier.
...
llvm-svn: 151607
2012-02-28 01:42:41 +00:00
Jason Molenda
a962eab24f
Add one more define for sdk==iphoneos.
...
llvm-svn: 151606
2012-02-28 01:42:10 +00:00
Han Ming Ong
8bd6a81b10
<rdar://problem/10942472>
...
Allows the debugger to put a more sensible prompt when debugging as root.
llvm-svn: 151605
2012-02-28 01:18:30 +00:00
Jakob Stoklund Olesen
92c15b2b2c
Enable ARM base pointer when calling functions with large arguments.
...
When an outgoing call takes more than 2k of arguments on the stack, we
don't allocate that call frame in the prolog, but adjust the stack
pointer immediately before the call instead.
This causes problems with the emergency spill slot because PEI can't
track stack pointer adjustments on the second pass, and if the outgoing
arguments are too big, SP can't be used to reach the emergency spill
slot at all.
Work around these problems by ensuring there is a base or frame pointer
that can be used to access the emergency spill slot.
<rdar://problem/10917166>
llvm-svn: 151604
2012-02-28 01:15:01 +00:00
Eli Friedman
ec75fec805
Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon.
...
llvm-svn: 151603
2012-02-28 01:08:45 +00:00
Ted Kremenek
3bc5372fae
[analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving
...
comparing literal addresses to nil.
Fixes <rdar://problem/10579586>
llvm-svn: 151602
2012-02-28 00:56:05 +00:00
Michael J. Spencer
8c4729fd44
[Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF.
...
Add -D option to llvm-nm to dump dynamic symbols.
Patch by David Meyer.
llvm-svn: 151600
2012-02-28 00:40:37 +00:00
Chad Rosier
248c29966c
Fix 80-column violation.
...
llvm-svn: 151599
2012-02-28 00:23:01 +00:00
Hal Finkel
c947412fae
Allow llvm-stress to optionally generate the other floating-point types (half, ppcf128, mmx, etc.)
...
llvm-svn: 151596
2012-02-27 23:59:33 +00:00
Jim Grosbach
2e16624291
Re-enable the Darwin ARM integrated assembler.
...
All known nightly-test failures are fixed.
llvm-svn: 151595
2012-02-27 23:55:25 +00:00