Bob Wilson
102be44843
Clang driver changes for iOS 5.0 and OS X Lion support.
...
Check whether the libc++ library is available when using -stdlib=libc++,
and also adjust the check for whether to link with -lgcc_s.1.
Patch by Ted Kremenek and Daniel Dunbar.
llvm-svn: 141374
2011-10-07 17:54:41 +00:00
Chad Rosier
9ac845149b
More cleanup using StringSwitch.
...
llvm-svn: 141373
2011-10-07 17:48:56 +00:00
Evan Cheng
77f79a1a4f
Jakob is the code owner of register allocation and TableGen.
...
llvm-svn: 141372
2011-10-07 17:26:38 +00:00
Evan Cheng
74db300f37
High bits of movmskp{s|d} and pmovmskb are known zero. rdar://10247336
...
llvm-svn: 141371
2011-10-07 17:21:44 +00:00
Bob Wilson
8decdc472f
Reenable tail calls for iOS 5.0 and later.
...
llvm-svn: 141370
2011-10-07 17:17:49 +00:00
Fariborz Jahanian
942bbcea25
objc rewriter. Fix declaration of objc_msgSend_stret/objc_msgSendSuper_stret.
...
Fix an assert crash when casting a CF type to 'id'.
// rdar://10250911
llvm-svn: 141369
2011-10-07 17:17:45 +00:00
Bob Wilson
bc1589945d
Reenable use of divmod compiler_rt functions for iOS 5.0 and later.
...
llvm-svn: 141368
2011-10-07 16:59:21 +00:00
Matt Beaumont-Gay
b7609cd35f
Move default to top of switch
...
llvm-svn: 141366
2011-10-07 16:27:01 +00:00
Anton Korobeynikov
318d6bae80
Peephole optimization for ABS on ARM.
...
Patch by Ana Pazos!
llvm-svn: 141365
2011-10-07 16:15:08 +00:00
Tobias Grosser
e19661e0ca
ScopInfo: Some cleanups
...
- Use __isl_give and __isl_take
- Convert variables to start with Uppercase letter
- Only assign the 'domain' after it is fully constructed
- Only name it after it is fully constructed
llvm-svn: 141361
2011-10-07 08:46:57 +00:00
Duncan Sands
c52af46484
Teach GVN to also propagate switch cases. For example, in this code
...
switch (n) {
case 27:
do_something(x);
...
}
the call do_something(x) will be replaced with do_something(27). In
gcc-as-one-big-file this results in the removal of about 500 lines of
bitcode (about 0.02%), so has about 1/10 of the effect of propagating
branch conditions.
llvm-svn: 141360
2011-10-07 08:29:06 +00:00
Tobias Grosser
04e6cbc80b
Switch to the most recent version of ISL.
...
This switch is not for any new features, but to test have Polly tested with
the upcoming isl 0.8.
llvm-svn: 141359
2011-10-07 07:20:43 +00:00
Craig Topper
d9cfddc5cd
Add X86 disassembler support for RDFSBASE, RDGSBASE, WRFSBASE, and WRGSBASE.
...
llvm-svn: 141358
2011-10-07 07:02:24 +00:00
Andrew Trick
35c9e51219
PostRA scheduler fix. Clear stale loop dependencies.
...
Fixes <rdar://problem/10235725>
llvm-svn: 141357
2011-10-07 06:33:09 +00:00
Andrew Trick
4ef158335b
whitespace
...
llvm-svn: 141356
2011-10-07 06:27:02 +00:00
John McCall
f937c023bf
Rename TagDecl::isDefinition -> isCompleteDefinition
...
for better self-documenting code, since the semantics
are subtly different from getDefinition().
llvm-svn: 141355
2011-10-07 06:10:15 +00:00
Craig Topper
bf136764ae
Add X86 disassembler support for XSAVE, XRSTOR, and XSAVEOPT.
...
llvm-svn: 141354
2011-10-07 05:53:50 +00:00
Craig Topper
5aebebe18d
Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine.
...
llvm-svn: 141353
2011-10-07 05:35:38 +00:00
Greg Clayton
c26e445403
Since we use address ranges a lot I added a templatized class that allows us to easily control the base address type, the size type, and the data that is stored with each range. It is designed to be populated by appending all needed items, then sorting the resulting list, and optionally minimizing the list when done. I adopted this new list in the DWARFDebugAranges for even further memory savings.
...
llvm-svn: 141352
2011-10-07 03:58:56 +00:00
Richard Smith
779b8b0f33
Remove FIXME obsoleted by change r141279 for PR11067.
...
llvm-svn: 141351
2011-10-07 03:16:33 +00:00
John McCall
0710e551ef
Record layout requires not just a definition, but a complete
...
definition. Assert this. Change IR generation to not try to
aggressively emit the IR translation of a record during its
own definition. Fixes PR10912.
llvm-svn: 141350
2011-10-07 02:39:22 +00:00
Greg Clayton
5f4c61e2d7
<rdar://problem/10226227>
...
Fixed the root cause of what was causing an assertion to fire during single stepping. We had an issue with the inlined stack frames where when we had inlined frames that were not in the first concrete frame where we passed the wrong PC down. We needed to decrement the PC by one for these frames to make
sure we are using the same address that did the symbol context lookup.
llvm-svn: 141349
2011-10-07 01:52:19 +00:00
Greg Clayton
f8843bf5d1
Added better logging for the case where we don't find a PC in a block.
...
llvm-svn: 141348
2011-10-07 01:49:45 +00:00
Johnny Chen
c12ec2f600
Add a simple scenario of emacs and lldb interaction.
...
llvm-svn: 141347
2011-10-07 01:06:37 +00:00
Ted Kremenek
171969c8c2
r141345 also fixed a -Wuninitialized bug where loop conditions were not always flagged as being uninitialized. Addresses <rdar://problem/9432305>.
...
llvm-svn: 141346
2011-10-07 00:52:56 +00:00
Ted Kremenek
f8fd4d4962
Fix infinite loop in -Wuninitialized reported in PR 11069.
...
llvm-svn: 141345
2011-10-07 00:42:48 +00:00
Bob Wilson
997a97f0f5
Use StringSwitch. Thanks for Chandler for the suggestion.
...
llvm-svn: 141344
2011-10-07 00:37:57 +00:00
Fariborz Jahanian
9cd57a7061
objc: Improve on diagnostic when atomic proeprty is synthesized
...
on one accessor and user-provide with another.
llvm-svn: 141343
2011-10-06 23:47:58 +00:00
Bill Wendling
8d50ea0f82
Use the correct vreg here.
...
llvm-svn: 141342
2011-10-06 23:41:14 +00:00
Bill Wendling
b3d4678877
Generate the dispatch code for a 'thumb' function. This is very similar to the
...
others. They take the call site value. Determine if it's a proper value. And
then jumps to the correct call site via a jump table.
llvm-svn: 141341
2011-10-06 23:37:36 +00:00
Johnny Chen
1c6c43f1dc
Allow the crash log file path to contain an initial tilde component.
...
llvm-svn: 141340
2011-10-06 23:36:00 +00:00
Owen Anderson
6a5c150e9c
Fix the check for nested IT instructions in the disassembler. We need to perform the check before adding the Thumb predicate, which pops on entry off the ITBlock queue.
...
llvm-svn: 141339
2011-10-06 23:33:11 +00:00
Greg Clayton
70a11261ac
<rdar://problem/10226227>
...
Fixed an assertion that was causing a crash. The bug describes a case where we have an inlined block that doesn't contain the frame PC that was used to lookup the symbol context in the first place. This really shouldn't happen, so
now we log if we run into this and don't assert.
llvm-svn: 141338
2011-10-06 23:32:32 +00:00
Anna Zaks
f0c4116202
[analyzer] Static Analyzer Qualification Infrastructure: Scripts to support basic testing of the analyzer on external projects. This can be used as a basis for setting up a buildbot.
...
llvm-svn: 141337
2011-10-06 23:26:27 +00:00
John McCall
9776e438cf
Move type-checking for C-style casts in C into the now-misnamed
...
SemaCXXCast.cpp. Should have no functionality change.
llvm-svn: 141336
2011-10-06 23:25:11 +00:00
Argyrios Kyrtzidis
c281c96675
Implicitly assume that a ObjC category to an unavailable interface is also unavailable;
...
only give an 'unavailable' error on the @implementation of the category. rdar://10234078
llvm-svn: 141335
2011-10-06 23:23:27 +00:00
Argyrios Kyrtzidis
9321ad3f97
When using an unavailable/deprecated interface Foo inside Foo's interface/implementation
...
don't emit unavailable errors.
llvm-svn: 141334
2011-10-06 23:23:20 +00:00
Eli Friedman
1456cd20b4
Remove the old atomic instrinsics. autoupgrade functionality is included with this patch.
...
llvm-svn: 141333
2011-10-06 23:20:49 +00:00
Eli Friedman
c8b57f6683
llvm.memory.barrier is going away; remove the wrapper intrinsic __builtin_llvm_memory_barrier.
...
__atomic_thread_fence will be landing soon as a replacement, wrapping around the new fence instruction.
llvm-svn: 141332
2011-10-06 23:12:03 +00:00
Eli Friedman
0dfb889575
Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
...
Thanks to Jeffrey Yasskin for the thorough review!
llvm-svn: 141330
2011-10-06 23:00:33 +00:00
Benjamin Kramer
8c26d440da
Use strpbrk(3) instead of open coding it.
...
llvm-svn: 141328
2011-10-06 22:53:35 +00:00
Bill Wendling
5626c66a89
Generate the dispatch table for ARM mode.
...
llvm-svn: 141327
2011-10-06 22:53:00 +00:00
Johnny Chen
e7e4ac4d8d
Simplify code to print symbols and sections within a module using the built-in iterators.
...
llvm-svn: 141326
2011-10-06 22:48:56 +00:00
Tobias Grosser
9b13d3dbe5
ScopInfo: Simplify the construction of the iteration domain.
...
llvm-svn: 141325
2011-10-06 22:32:58 +00:00
Eli Friedman
4e84e46b7b
Add missing include to clang-interpreter example, to make it work on Windows. Patch by Dean Pavlekovic.
...
llvm-svn: 141324
2011-10-06 22:24:13 +00:00
Bill Wendling
030b58e5c9
Refactor some of the code that sets up the entry block for SjLj EH. No functionality change.
...
llvm-svn: 141323
2011-10-06 22:18:16 +00:00
Chad Rosier
557ee03c8a
[driver] Fix test case for Windows due to fallout from r141202+r141205.
...
llvm-svn: 141322
2011-10-06 22:05:26 +00:00
Jim Grosbach
0947102623
Tidy up tests. Un-XFAIL file and mark individual tests as FIXME instead.
...
llvm-svn: 141321
2011-10-06 22:04:05 +00:00
Bob Wilson
bc9f7087b2
Remove DISABLE_ARM_DARWIN_USE_MOVT ifdefs. Radar 9456730.
...
llvm-svn: 141320
2011-10-06 21:52:27 +00:00
Bill Wendling
31d973cde6
Use a thumb ORR instead of thumb2 ORR when in thumb-only mode. (Picky! Picky!)
...
Place the immediate to OR into a register so that it works.
llvm-svn: 141319
2011-10-06 21:51:21 +00:00