Commit Graph

114031 Commits

Author SHA1 Message Date
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