John McCall
ff61303bd0
Mark calls to objc_retainBlock that don't result from casts
...
to id so that we can still optimize them appropriately.
llvm-svn: 141064
2011-10-04 06:23:45 +00:00
Bob Wilson
05de0298d2
Rip out flags for controlling C++ "production mode" separately.
...
This is old leftover cruft from the days when C++ was not yet ready
for prime time.
llvm-svn: 141063
2011-10-04 05:34:14 +00:00
Bob Wilson
8ecdb9b33a
Specify -ccc-clang-archs for le32 targets which may not be supported by default.
...
llvm-svn: 141062
2011-10-04 05:18:19 +00:00
Argyrios Kyrtzidis
52f53fb303
Improve location fidelity of objc decls.
...
-Add the location of the class name to all objc container decls, not just ObjCInterfaceDecl.
-Make objc decls consistent with the rest of the NamedDecls and have getLocation() point to the
class name, not the location of '@'.
llvm-svn: 141061
2011-10-04 04:48:02 +00:00
Chad Rosier
b047fed5cd
Update testcase for r141053+r141055.
...
llvm-svn: 141060
2011-10-04 04:42:31 +00:00
Andrew Trick
8de329a9fc
LSR should avoid redundant edge splitting.
...
This handles the case in which LSR rewrites an IV user that is a phi and
splits critical edges originating from a switch.
Fixes <rdar://problem/6453893> LSR is not splitting edges "nicely"
llvm-svn: 141059
2011-10-04 03:50:44 +00:00
Andrew Trick
411842f98f
whitespace
...
llvm-svn: 141058
2011-10-04 03:34:49 +00:00
Rafael Espindola
74e5a2a712
Remove last references to hotpatch.
...
llvm-svn: 141057
2011-10-04 03:08:43 +00:00
Chandler Carruth
7e6d8cc46c
Factor the data apart from the logic of locating various GCC
...
installations. This first selects a set of prefixes and a set of
compatible triples for the current architecture. Once selected, we drive
the search with a single piece of code.
This code isn't particularly efficient as it stands, but its only
executed once. I'm hoping as I clean up the users of this information,
it will also slowly become both cleaner and more efficient.
This also changes the behavior slightly. Previously, we had an ad-hoc
list of prefixes and triples, and we only looked for some triples
beneath specific prefixes and vice versa. This has led to lots of
one-off patches to support triple X, or support lib dir Y. Even without
going to a fully universal driver, we can do better here. This patch
makes us always look first in either 'lib32' or 'lib64' on 32- or 64-bit
hosts (resp.). However, we *always* look in 'lib'.
Currently I have one lingering problem with this strategy. We might find
a newer or better GCC version under a different (but equally compatible)
triple. Fundamentally, this loop needs to be fused with the one below.
That's my next patch.
llvm-svn: 141056
2011-10-04 02:28:41 +00:00
Chad Rosier
83200fdc65
[driver] Improve r141053 by only emitting the warning if the original input
...
was assembly. Otherwise, something like -save-temps causes the integrated
assembler to warn.
llvm-svn: 141055
2011-10-04 01:53:36 +00:00
Howard Hinnant
1e31e53fe1
Fix <rdar://problem/10226704>
...
llvm-svn: 141054
2011-10-04 01:25:20 +00:00
Chad Rosier
672831dec7
[driver] Emit a warning if the user has requested debug information and we're
...
using the integrated assembler.
rdar://10216353
llvm-svn: 141053
2011-10-04 01:01:30 +00:00
Peter Collingbourne
b3334f9f43
Exclude libLLVMTableGen.a from the shared library
...
Unbreaks tools for --enable-shared build.
llvm-svn: 141052
2011-10-04 00:30:34 +00:00
Douglas Gregor
51e0b54197
When build a module on demand, run the module-building job on a
...
separate thread with the "suitably large" stack, so we don't blow the
stack when building modules recursively.
llvm-svn: 141051
2011-10-04 00:21:21 +00:00
Bill Wendling
ac3fb4c078
Generic cleanup.
...
llvm-svn: 141050
2011-10-04 00:16:40 +00:00
Andrew Trick
bf51f97c28
Unit test for r140919, loop unroll heuristics.
...
llvm-svn: 141049
2011-10-04 00:07:02 +00:00
Argyrios Kyrtzidis
25029d499e
Make sure SourceManager::getFileIDLoaded doesn't hang in release build because of invalid passed parameter.
...
rdar://10210140
llvm-svn: 141048
2011-10-03 23:43:01 +00:00
Jim Grosbach
b85400aa58
Tidy up. These tests are covered in the .s file tests now.
...
llvm-svn: 141047
2011-10-03 23:40:13 +00:00
Jim Grosbach
e7fbce7acb
ARM assembly parsing and encoding for VMOV immediate.
...
llvm-svn: 141046
2011-10-03 23:38:36 +00:00
Anna Zaks
208d54ce09
[analyzer] Remove redundant state (AnalysisContext pointer for every BinaryOperator tracked) from IdempotentOperationChecker.
...
llvm-svn: 141045
2011-10-03 23:07:13 +00:00
Johnny Chen
ced9068603
Add more docstring to the Python interface file for SBSection.
...
llvm-svn: 141044
2011-10-03 23:06:33 +00:00
Jim Grosbach
69e6f90eb2
Tidy up. 80 columns.
...
llvm-svn: 141043
2011-10-03 23:03:26 +00:00
Bill Wendling
1eab54f8ba
Use the PC label ID rather than '1'. Add support for thumb-2, because I heard that some people use it.
...
llvm-svn: 141042
2011-10-03 22:44:15 +00:00
Johnny Chen
524e4ccb49
Add fuzz call for sub-section iteration for SBSection.
...
llvm-svn: 141041
2011-10-03 22:43:06 +00:00
Bill Wendling
97a8695fff
Don't carry over the dispatchsetup hack from the old system.
...
llvm-svn: 141040
2011-10-03 22:42:40 +00:00
Johnny Chen
3dc26e839c
Add SBSection API to the fuzz testing.
...
llvm-svn: 141039
2011-10-03 22:30:56 +00:00
Jim Grosbach
46b6646059
ARM parsing/encoding for VCMP/VCMPE.
...
llvm-svn: 141038
2011-10-03 22:30:24 +00:00
Fariborz Jahanian
ed1933b02b
objc arc: Suppress certain arc diagnostics on unavailable
...
functions. // rdar://10186536
llvm-svn: 141037
2011-10-03 22:11:57 +00:00
Johnny Chen
8c3dc3d0fd
Add fuzz call for watchpoint location iterator, too.
...
llvm-svn: 141036
2011-10-03 22:08:35 +00:00
Johnny Chen
b92574ffb9
Add fuzz calls for various iterators, too.
...
llvm-svn: 141035
2011-10-03 22:02:59 +00:00
Anna Zaks
892427e2fa
[analyzer] In UndefBranchChecker, use a node generator which does not create an edge/branching. (ExprEngine should be in charge of generating edges. The checkers should examine the condition and generate PostCondition node if needed.)
...
llvm-svn: 141034
2011-10-03 21:55:56 +00:00
Johnny Chen
fdce6dc19d
Add comment markers for in_range(symbol, section).
...
llvm-svn: 141033
2011-10-03 21:48:40 +00:00
Nick Lewycky
f66daac2f5
Fix typo in comments.
...
llvm-svn: 141032
2011-10-03 21:30:08 +00:00
Bill Wendling
374ee194f2
Check-pointing the new SjLj EH lowering.
...
This code will replace the version in ARMAsmPrinter.cpp. It creates a new
machine basic block, which is the dispatch for the return from a longjmp
call. It then shoves the address of that machine basic block into the correct
place in the function context so that the EH runtime will jump to it directly
instead of having to go through a compare-and-jump-to-the-dispatch bit. This
should be more efficient in the common case.
llvm-svn: 141031
2011-10-03 21:25:38 +00:00
Akira Hatanaka
6c71ef32be
Move CHECK after entry label.
...
llvm-svn: 141030
2011-10-03 21:24:30 +00:00
Akira Hatanaka
c3a6357ee3
Add support for 64-bit logical NOR.
...
llvm-svn: 141029
2011-10-03 21:23:18 +00:00
Akira Hatanaka
48a72ca0cb
Add support for 64-bit count leading ones and zeros instructions.
...
llvm-svn: 141028
2011-10-03 21:16:50 +00:00
Anna Zaks
c42197d0f8
[analyzer] Cleanup in UndefBranchChecker:
...
- Remove unused FindUndefExpr::ProgramStateManager.
- The Condition parameter of the callback is the terminator of the block, no need to retrieve it again.
llvm-svn: 141027
2011-10-03 21:16:32 +00:00
Bill Wendling
6f3e73d6ad
Move the grabbing of the jump buffer into the caller function, eliminating the need for returning a std::pair.
...
llvm-svn: 141026
2011-10-03 21:15:28 +00:00
Jim Grosbach
4ab23b5273
ARM assembly parsing and encoding for VMRS/FMSTAT.
...
llvm-svn: 141025
2011-10-03 21:12:43 +00:00
Akira Hatanaka
b1538f91dc
Add support for 64-bit divide instructions.
...
llvm-svn: 141024
2011-10-03 21:06:13 +00:00
Devang Patel
dbebc6f3f9
Add C api for Instruction->eraseFromParent().
...
llvm-svn: 141023
2011-10-03 20:59:18 +00:00
Jim Grosbach
c3fc62b492
Update test for 141010.
...
llvm-svn: 141022
2011-10-03 20:58:08 +00:00
Johnny Chen
44d6d2c526
Fix regression of test SourceManagerTestCase.test_display_source_python.
...
llvm-svn: 141021
2011-10-03 20:56:39 +00:00
Jim Grosbach
5dd3425b77
Thumb2 ADD/SUB can take SP as a destination register.
...
It's documented as a separate instruction to line up with the Thumb1
encodings, for which it really is a distinct instruction encoding.
llvm-svn: 141020
2011-10-03 20:51:59 +00:00
Akira Hatanaka
3caf8cb310
Clean up MipsInstrInfo::copyPhysReg and handle copies from and to 64-bit integer
...
registers.
llvm-svn: 141019
2011-10-03 20:38:08 +00:00
Abramo Bagnara
fd3a455ac7
Fixed source range for template implicit instantiations.
...
llvm-svn: 141018
2011-10-03 20:34:03 +00:00
Akira Hatanaka
a279d9bd6a
Add support for 64-bit integer multiply instructions.
...
llvm-svn: 141017
2011-10-03 20:01:11 +00:00
Akira Hatanaka
cdcc74563c
Add definitions of instructions which move values between 64-bit integer
...
registers and 64-bit HI and LO registers. Fix encoding of the 32-bit versions
of the instructions.
llvm-svn: 141015
2011-10-03 19:28:44 +00:00
Bob Wilson
7f6f12405d
Find the strip tool that works with the specified SDKROOT. rdar://10165908
...
llvm-svn: 141013
2011-10-03 18:48:16 +00:00