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
Jim Grosbach
4887469138
Fix and clean up tests. Un-XFAIL.
...
llvm-svn: 141318
2011-10-06 21:32:50 +00:00
Bill Wendling
362c1b01cc
* Set the low bit of the return address when we are in thumb mode.
...
* Some code cleanup.
llvm-svn: 141317
2011-10-06 21:29:56 +00:00
Jim Grosbach
ceb4c7523f
Fix and clean up tests. Un-XFAIL.
...
llvm-svn: 141316
2011-10-06 21:28:30 +00:00
David Greene
7475ad05fa
Fix List-of-List Processing
...
Fix VarListElementInit::resolveListElementReference to return a
partially resolved VarListElementInint in the case where full
resolution is not possible. This allows TableGen to make forward
progress resolving certain complex list expressions.
llvm-svn: 141315
2011-10-06 21:20:46 +00:00
David Greene
74842740c0
Make Test More Thorough
...
Check that all ADD patters are processed.
Add a SUB test.
llvm-svn: 141314
2011-10-06 21:20:44 +00:00
Matt Beaumont-Gay
78f290c739
Fix -asserts build
...
llvm-svn: 141313
2011-10-06 20:59:09 +00:00
Ted Kremenek
b7531d622d
[static analyzer] Fix crash in LiveVariables and Environment::getSVal() when analyzing C++ pointer-to-member calls. Fixes <rdar://problem/10243398>.
...
llvm-svn: 141312
2011-10-06 20:53:28 +00:00
Eli Friedman
89c11337ba
Add _mm_comige_sd to emmintrin.h, since I apparently forgot to do this in r138769.
...
<rdar://problem/10230751>
llvm-svn: 141310
2011-10-06 20:31:50 +00:00
Bob Wilson
bd9d0e6d91
Rearrange for readability. No functional change.
...
llvm-svn: 141309
2011-10-06 20:27:40 +00:00
Bob Wilson
d4d0237339
Add a missing check for cortex-a9.
...
llvm-svn: 141308
2011-10-06 20:27:38 +00:00
Johnny Chen
98a49d9b77
Simplify the verbose output of WatchpointLocation::DumpWithLevel().
...
llvm-svn: 141307
2011-10-06 20:27:05 +00:00
Justin Holewinski
c8ab2c1d99
PTX: Implement signed division
...
llvm-svn: 141306
2011-10-06 20:00:33 +00:00
Benjamin Kramer
f9389a361e
Use StringSwitch.
...
llvm-svn: 141305
2011-10-06 18:53:43 +00:00
Peter Collingbourne
fa4d6033a3
CUDA: IR generation support for device stubs
...
llvm-svn: 141304
2011-10-06 18:51:56 +00:00
Tobias Grosser
c4009383e8
Change location of our buildbot
...
llvm-svn: 141303
2011-10-06 18:49:37 +00:00
Fariborz Jahanian
565ed7a4c1
objc++: For atomic properties of c++ class objec typet, appropriate
...
operator= is called. Issue a warning for non-trivial case until
runtime support is provided. // rdar://6137845
llvm-svn: 141302
2011-10-06 18:38:18 +00:00
Peter Collingbourne
a9455ec9f8
CUDA: add -fcuda-is-device flag
...
This frontend-only flag is used by the IR generator to determine
whether to filter CUDA declarations for the host or for the device.
llvm-svn: 141301
2011-10-06 18:29:46 +00:00