Greg Clayton [Tue, 25 Sep 2012 02:40:06 +0000 (02:40 +0000)]
<rdar://problem/9959501>
More KDP debugging process. We can not set breakpoints, hit them, resume, step and detach while running.
llvm-svn: 164584
Nick Lewycky [Tue, 25 Sep 2012 01:55:59 +0000 (01:55 +0000)]
Don't forget that strcpy and friends return a pointer to the destination, so
it's not a dead store if that pointer is used. Whoops!
llvm-svn: 164583
Michael Ilseman [Tue, 25 Sep 2012 01:33:33 +0000 (01:33 +0000)]
Unit tests for IntegerDivision. Currently, just a basic sanity check to ensure that the code was generated properly. Future work would be finding some way to test the actual result that would be computed.
llvm-svn: 164582
Eli Friedman [Tue, 25 Sep 2012 01:02:42 +0000 (01:02 +0000)]
Delete some code which is, as far as I can tell, dead.
llvm-svn: 164580
Anna Zaks [Tue, 25 Sep 2012 00:31:43 +0000 (00:31 +0000)]
[analyzer] Fix a buildbot crash triggered by turning on dynamic
dispatch.
llvm-svn: 164579
Richard Smith [Tue, 25 Sep 2012 00:23:05 +0000 (00:23 +0000)]
Don't produce diagnostics for missing ctor-initializers during template
instantiations if we encountered errors parsing some of the initializers.
llvm-svn: 164578
Jim Grosbach [Tue, 25 Sep 2012 00:08:13 +0000 (00:08 +0000)]
ARM: 'add Rd, pc, #imm' is an alias for 'adr Rd, #imm'.
rdar://9795790
llvm-svn: 164577
Nick Lewycky [Mon, 24 Sep 2012 23:47:23 +0000 (23:47 +0000)]
Remove unused name of variable to quiet a warning. Also canonicalize a
declaration to use the same form as in the rest of the file. No functionality
change.
llvm-svn: 164576
Howard Hinnant [Mon, 24 Sep 2012 23:36:40 +0000 (23:36 +0000)]
Apply the emulated nullptr_t with constexpr. This is an unusual configuration that would take advantage of this. But it has popped up in the wild and does no harm to support it.
llvm-svn: 164575
Enrico Granata [Mon, 24 Sep 2012 23:30:10 +0000 (23:30 +0000)]
Making sure we do not try to compare a NULL string - which would cause us to crash
llvm-svn: 164574
Sean Callanan [Mon, 24 Sep 2012 23:21:18 +0000 (23:21 +0000)]
Added a new Xcode build configuration, DebugClang,
which builds a Debug+Asserts build of Clang and
links LLDB against it. The Debug configuration
builds Clang with Release+Asserts, for faster
linking and smaller memory footprint when debugging
the build LLDB.
llvm-svn: 164573
Sean Callanan [Mon, 24 Sep 2012 23:11:56 +0000 (23:11 +0000)]
Removed some debugging cruft.
llvm-svn: 164572
Jim Grosbach [Mon, 24 Sep 2012 23:06:27 +0000 (23:06 +0000)]
Mark jump tables in code sections with DataRegion directives.
Even out-of-line jump tables can be in the code section, so mark them
as data-regions for those targets which support the directives.
rdar://
12362871&
12362974
llvm-svn: 164571
Chad Rosier [Mon, 24 Sep 2012 23:04:25 +0000 (23:04 +0000)]
Typo.
llvm-svn: 164570
Eli Friedman [Mon, 24 Sep 2012 23:02:26 +0000 (23:02 +0000)]
Handle C++ functional casts in a similar way to C-style casts in
unused expression warnings. <rdar://problem/
12359208>.
llvm-svn: 164569
Chad Rosier [Mon, 24 Sep 2012 22:58:50 +0000 (22:58 +0000)]
Update for r164567.
llvm-svn: 164568
Chad Rosier [Mon, 24 Sep 2012 22:57:55 +0000 (22:57 +0000)]
Rather then have a wrapper function, have tblgen instantiate the implementation.
Also remove an unused argument.
llvm-svn: 164567
Fariborz Jahanian [Mon, 24 Sep 2012 22:51:51 +0000 (22:51 +0000)]
objective-C: use 'instance variables' as plural when referring
to the feature.
llvm-svn: 164566
Bob Wilson [Mon, 24 Sep 2012 22:51:19 +0000 (22:51 +0000)]
Clear UNIVERSAL_SDK_PATH setting when building host tools. <rdar://
12360497>
I also moved the SDKROOT setting into the make flags, since clearing it from
the environment isn't good enough to override a setting on the make command
line. That hasn't been a problem but it could be, and it's good to be
consistent with the way UNIVERSAL_SDK_PATH is handled.
llvm-svn: 164565
Jason Molenda [Mon, 24 Sep 2012 22:51:04 +0000 (22:51 +0000)]
Fix string comparisons in ABIMacOSX_i386::RegisterIsCalleeSaved so
that volatile registers are correctly reported for this ABI.
We were incorrectly passing up volatile registers from callee
frames.
llvm-svn: 164564
Sean Callanan [Mon, 24 Sep 2012 22:25:51 +0000 (22:25 +0000)]
Brought LLDB top-of-tree into sync with LLVM/Clang
top-of-tree. Removed all local patches and llvm.zip.
The intent is that fron now on top-of-tree will
always build against LLVM/Clang top-of-tree, and
that problems building will be resolved as they
occur. Stable release branches of LLDB can be
constructed as needed and linked to specific release
branches of LLVM/Clang.
llvm-svn: 164563
Nick Lewycky [Mon, 24 Sep 2012 22:09:10 +0000 (22:09 +0000)]
Teach DSE that strcpy, strncpy, strcat and strncat are all stores which may be
dead.
llvm-svn: 164561
Nick Lewycky [Mon, 24 Sep 2012 22:07:09 +0000 (22:07 +0000)]
Move all the calls to AA.getTargetLibraryInfo() to using a TLI member variable.
No functionality change.
llvm-svn: 164560
Fariborz Jahanian [Mon, 24 Sep 2012 22:00:36 +0000 (22:00 +0000)]
objective-C: remove use of 'ivar' in favor of
'instance variable' in text of all diagnostics
for objective-C: // rdar://
12352442
llvm-svn: 164559
Sean Callanan [Mon, 24 Sep 2012 21:34:40 +0000 (21:34 +0000)]
Made TestHiddenIvars an expected failure with
"frame variable". "expr" finds hidden ivars
correctly.
llvm-svn: 164558
Ted Kremenek [Mon, 24 Sep 2012 21:17:14 +0000 (21:17 +0000)]
Add clarifying comment.
llvm-svn: 164557
Dmitri Gribenko [Mon, 24 Sep 2012 21:09:05 +0000 (21:09 +0000)]
More tests for r164545 (change extension warning about 'long long').
llvm-svn: 164556
Dmitri Gribenko [Mon, 24 Sep 2012 21:07:17 +0000 (21:07 +0000)]
StringRef'ize Preprocessor::CreateString().
llvm-svn: 164555
Dmitri Gribenko [Mon, 24 Sep 2012 20:56:28 +0000 (20:56 +0000)]
Replace raw call to snprintf() by llvm streams.
llvm-svn: 164554
Roman Divacky [Mon, 24 Sep 2012 20:47:19 +0000 (20:47 +0000)]
Specify MachinePointerInfo as refering to the argument value and offset of the
store when handling byval arguments. Thus preventing reordering of the store
with load with post-RA scheduler.
llvm-svn: 164553
Bob Wilson [Mon, 24 Sep 2012 19:57:59 +0000 (19:57 +0000)]
Replace an assertion with an error for empty __asm statements.
llvm-svn: 164551
Bob Wilson [Mon, 24 Sep 2012 19:57:55 +0000 (19:57 +0000)]
Fix a comment typo and clean up formatting.
llvm-svn: 164550
Douglas Gregor [Mon, 24 Sep 2012 19:56:18 +0000 (19:56 +0000)]
Make sure that we don't end up making an #undef'd macro visible after
the fact. Test cases will come when we're actually (de-)serializing
macro history.
llvm-svn: 164549
Chad Rosier [Mon, 24 Sep 2012 19:32:29 +0000 (19:32 +0000)]
Rather then have a wrapper function, have tblgen instantiate the implementation.
llvm-svn: 164548
Argyrios Kyrtzidis [Mon, 24 Sep 2012 19:27:20 +0000 (19:27 +0000)]
[libclang] Bring CXCursor_AsmStmt back as an alias for CXCursor_GCCAsmStmt.
This was renamed in r162632 which was badness because the C API needs to be stable.
rdar://
12360096
llvm-svn: 164547
Dmitri Gribenko [Mon, 24 Sep 2012 19:05:10 +0000 (19:05 +0000)]
Include 'long long' extension warning in the LongLong group so that it can be
silenced by -Wno-long-long. Thanks Richard Smith for the fix idea!
llvm-svn: 164546
Dmitri Gribenko [Mon, 24 Sep 2012 18:19:21 +0000 (18:19 +0000)]
Change the wording of the extension warning from
> 'long long' is an extension when C99 mode is not enabled
to
> 'long long' is a C++11 extension
while compiling in C++98 mode.
llvm-svn: 164545
Jim Ingham [Mon, 24 Sep 2012 18:11:54 +0000 (18:11 +0000)]
Remove a couple of debugging printf's from the testsuite.
llvm-svn: 164544
Anna Zaks [Mon, 24 Sep 2012 17:43:47 +0000 (17:43 +0000)]
[analyzer] Really turn on dynamic-bifurcation on by default.
Thanks to Byoungyoung for realizing taht we are not passing the default
option correctly.
llvm-svn: 164543
Anna Zaks [Mon, 24 Sep 2012 17:43:44 +0000 (17:43 +0000)]
[analyzer] Remove unused.
llvm-svn: 164542
Anna Zaks [Mon, 24 Sep 2012 17:43:41 +0000 (17:43 +0000)]
[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)
(Unfortunately, I do not have a good reduced test case for this.)
llvm-svn: 164541
Richard Osborne [Mon, 24 Sep 2012 17:22:43 +0000 (17:22 +0000)]
Add missing : in CHECK line.
llvm-svn: 164540
Richard Osborne [Mon, 24 Sep 2012 17:10:03 +0000 (17:10 +0000)]
Add missing check for presence of target data.
This avoids a crash in visitAllocaInst when target data isn't available.
llvm-svn: 164539
Marshall Clow [Mon, 24 Sep 2012 14:27:24 +0000 (14:27 +0000)]
Updating email address
llvm-svn: 164490
Marshall Clow [Mon, 24 Sep 2012 14:27:10 +0000 (14:27 +0000)]
Updating email address
llvm-svn: 164489
Alexey Samsonov [Mon, 24 Sep 2012 13:35:46 +0000 (13:35 +0000)]
[TSan] one more attempt to fix sleep_sync test: call sleep in the spawned thread so that sleep-synchronization will be detected even if child thread is started late.
llvm-svn: 164488
Alexey Samsonov [Mon, 24 Sep 2012 13:19:47 +0000 (13:19 +0000)]
[TSan] Provide replacements for operators new/delete instead of declaring extern C functions with weirdly mangled names (same strategy is used in ASan).
llvm-svn: 164487
Alexey Samsonov [Mon, 24 Sep 2012 11:43:40 +0000 (11:43 +0000)]
[ASan] Apply some ASan-relevant pieces of patch by Ruben Van Boxem. In the same time, remove ASan from CMake build on Windows after conversation with Timur. We don't want to support building ASan on Windows until it is in a working state.
llvm-svn: 164486
Alexander Potapenko [Mon, 24 Sep 2012 10:25:24 +0000 (10:25 +0000)]
Use an explicit target to test that source fortification is off when building for Darwin with -faddress-sanitizer.
llvm-svn: 164485
Dmitri Gribenko [Mon, 24 Sep 2012 09:53:54 +0000 (09:53 +0000)]
Small cleanup of literal semantic analysis: hiding 'char *' pointers behind
StringRef makes code cleaner. Also, make the temporary buffer smaller:
512 characters is unreasonably large for integer literals.
llvm-svn: 164484
Alexey Samsonov [Mon, 24 Sep 2012 08:57:41 +0000 (08:57 +0000)]
[TSan] increase sleep time in test to ensure correct event ordering
llvm-svn: 164483
Chandler Carruth [Mon, 24 Sep 2012 01:10:25 +0000 (01:10 +0000)]
Update the Clang tests which run with a full optimization pipeline for
the new SROA pass. This is a benign change: the order of PHI nodes
changed.
llvm-svn: 164481
Chandler Carruth [Mon, 24 Sep 2012 01:10:25 +0000 (01:10 +0000)]
Enable the new SROA pass by default.
Queue the fallout. ;]
llvm-svn: 164480
Chandler Carruth [Mon, 24 Sep 2012 00:34:20 +0000 (00:34 +0000)]
Address one of the original FIXMEs for the new SROA pass by implementing
integer promotion analogous to vector promotion. When there is an
integer alloca being accessed both as its integer type and as a narrower
integer type, promote the narrower access to "insert" and "extract" the
smaller integer from the larger one, and make the integer alloca
a candidate for promotion.
In the new formulation, we don't care about target legal integer or use
thresholds to control things. Instead, we only perform this promotion to
an integer type which the frontend has already emitted a load or store
for. This bounds the scope and prevents optimization passes from
coalescing larger and larger entities into a single integer.
llvm-svn: 164479
NAKAMURA Takumi [Mon, 24 Sep 2012 00:34:18 +0000 (00:34 +0000)]
unittests/AST/StmtPrinterTest.cpp: Suppress a LP64-assumed test, "0x100000000i128 => 4294967296L", for now.
LONG_MAX is 2147483647L on common 32 bit and LLP64 (Windows x64).
llvm-svn: 164478
Dmitri Gribenko [Sun, 23 Sep 2012 20:29:07 +0000 (20:29 +0000)]
As a followup for r164303, add some tests for printing literals that test
printing directly rather than through a complicated machinery of ObjC rewriter.
llvm-svn: 164477
Anton Korobeynikov [Sun, 23 Sep 2012 15:53:47 +0000 (15:53 +0000)]
Emit dtors into proper section while compiling in vcpp-compatible mode.
Patch by Kai!
llvm-svn: 164476
Chandler Carruth [Sun, 23 Sep 2012 11:43:14 +0000 (11:43 +0000)]
Switch to a signed representation for the dynamic offsets while walking
across the uses of the alloca. It's entirely possible for negative
numbers to come up here, and in some rare cases simply doing the 2's
complement arithmetic isn't the correct decision. Notably, we can't zext
the index of the GEP. The definition of GEP is that these offsets are
sign extended or truncated to the size of the pointer, and then wrapping
2's complement arithmetic used.
This patch fixes an issue that comes up with *no* input from the
buildbots or bootstrap afaict. The only place where it manifested,
disturbingly, is Clang's own regression test suite. A reduced and
targeted collection of tests are added to cope with this. Note that I've
tried to pin down the potential cases of overflow, but may have missed
some cases. I've tried to add a few cases to test this, but its hard
because LLVM has quite limited support for >64bit constructs.
llvm-svn: 164475
Nick Lewycky [Sun, 23 Sep 2012 03:58:21 +0000 (03:58 +0000)]
Don't do actual work inside an assert statement. Fixes PR11760!
llvm-svn: 164474
Rafael Espindola [Sun, 23 Sep 2012 03:05:41 +0000 (03:05 +0000)]
Implement ToolChain::IsUnwindTablesDefault to reduce code duplication a bit.
llvm-svn: 164473
Michael Liao [Sun, 23 Sep 2012 02:41:47 +0000 (02:41 +0000)]
Revise test to avoid using of 'grep'
llvm-svn: 164472
Craig Topper [Sun, 23 Sep 2012 02:12:10 +0000 (02:12 +0000)]
Add LLVM_OVERRIDE to methods that override their base classes.
llvm-svn: 164471
Rafael Espindola [Sat, 22 Sep 2012 22:58:57 +0000 (22:58 +0000)]
On Hexagon getArchName() never returns x86_64, simplify the function.
llvm-svn: 164470
Rafael Espindola [Sat, 22 Sep 2012 22:51:00 +0000 (22:51 +0000)]
Use pipes.
llvm-svn: 164469
Rafael Espindola [Sat, 22 Sep 2012 22:30:04 +0000 (22:30 +0000)]
Use FileCheck.
llvm-svn: 164468
Dmitri Gribenko [Sat, 22 Sep 2012 21:47:50 +0000 (21:47 +0000)]
Comment sema: warn when comment has \deprecated but declaration does not have a
deprecation attribute ('deprecated', 'availability' or 'unavailable').
This warning is under a separate flag, -Wdocumentation-deprecated-sync, so it
can be turned off easily while leaving other -Wdocumentation warnings on.
llvm-svn: 164467
Dmitri Gribenko [Sat, 22 Sep 2012 21:44:37 +0000 (21:44 +0000)]
Remove superfluous \namespace command.
llvm-svn: 164466
Michael Liao [Sat, 22 Sep 2012 21:07:59 +0000 (21:07 +0000)]
Enhance test case of atomic16 to verify inst encoding fixed in r164453.
llvm-svn: 164465
Dmitri Gribenko [Sat, 22 Sep 2012 17:52:29 +0000 (17:52 +0000)]
Fix cindex.py compatibility with older libclang.so
The issue is that we were calling clang_getCompletionBriefComment
unconditionally. New we check if this function is available before calling it.
llvm-svn: 164464
Rafael Espindola [Sat, 22 Sep 2012 15:26:38 +0000 (15:26 +0000)]
Use FileCheck.
llvm-svn: 164462
Rafael Espindola [Sat, 22 Sep 2012 15:04:11 +0000 (15:04 +0000)]
Fix pr13749. There is still a lot of code using getArchName that should be
using getArch, but I will try to fix them one at time to add tests.
llvm-svn: 164460
NAKAMURA Takumi [Sat, 22 Sep 2012 13:12:28 +0000 (13:12 +0000)]
ARMInstPrinter.cpp: Fix a warning in -Asserts. [-Wunused-variable]
llvm-svn: 164459
NAKAMURA Takumi [Sat, 22 Sep 2012 13:12:22 +0000 (13:12 +0000)]
Whitespace.
llvm-svn: 164458
Tim Northover [Sat, 22 Sep 2012 11:18:19 +0000 (11:18 +0000)]
Fix edge cases of ARM shift operands in arith instructions.
As before with load instructions, oddities like "asr #32", "rrx" could
be printed incorrectly.
Patch by Chris Lidbury.
llvm-svn: 164456
Tim Northover [Sat, 22 Sep 2012 11:18:12 +0000 (11:18 +0000)]
Fix the handling of edge cases in ARM shifted operands.
This patch fixes load/store instructions to handle less common cases
like "asr #32", "rrx" properly throughout the MC layer.
Patch by Chris Lidbury.
llvm-svn: 164455
Abramo Bagnara [Sat, 22 Sep 2012 09:05:22 +0000 (09:05 +0000)]
Avoid multiple atomic builtin declaration.
llvm-svn: 164454
Michael Liao [Sat, 22 Sep 2012 05:41:15 +0000 (05:41 +0000)]
Fix 16-bit atomic inst encoding and keep pseudo-inst starting with '#'
llvm-svn: 164453
Michael Liao [Sat, 22 Sep 2012 03:39:42 +0000 (03:39 +0000)]
Fix typo in r164357
llvm-svn: 164452
Andrew Trick [Sat, 22 Sep 2012 02:24:21 +0000 (02:24 +0000)]
Machine Model (-schedmodel only). Added SchedAliases.
Allow subtargets to tie SchedReadWrite types to processor specific
sequences or variants.
llvm-svn: 164451
Argyrios Kyrtzidis [Sat, 22 Sep 2012 01:58:06 +0000 (01:58 +0000)]
When importing a FunctionProtoType::ExtProtoInfo, its ExceptionSpecDecl can point to the
FunctionDecl that we are importing the FunctionProtoType for, in which case we'll have
infinite recursion when importing.
Initially create a FunctionProtoType with null ExceptionSpecDecl/ExceptionSpecTemplate and
update the type in ASTNodeImporter::VisitFunctionDecl after the FunctionDecl has been created.
llvm-svn: 164450
Jordan Rose [Sat, 22 Sep 2012 01:25:06 +0000 (01:25 +0000)]
[analyzer] Suppress bugs whose paths go through the return of a null pointer.
This is a heuristic intended to greatly reduce the number of false
positives resulting from inlining, particularly inlining of generic,
defensive C++ methods that live in header files. The suppression is
triggered in the cases where we ask to track where a null pointer came
from, and it turns out that the source of the null pointer was an inlined
function call.
This change brings the number of bug reports in LLVM from ~1500 down to
around ~300, a much more manageable number. Yes, some true positives may
be hidden as well, but from what I looked at the vast majority of silenced
reports are false positives, and many of the true issues found by the
analyzer are still reported.
I'm hoping to improve this heuristic further by adding some exceptions
next week (cases in which a bug should still be reported).
llvm-svn: 164449
Jordan Rose [Sat, 22 Sep 2012 01:25:00 +0000 (01:25 +0000)]
[analyzer] Track a null value back through FindLastStoreBRVisitor.
Also, tidy up the other tracking visitors so that they mark the right
things as interesting and don't do extra work.
llvm-svn: 164448
Jordan Rose [Sat, 22 Sep 2012 01:24:56 +0000 (01:24 +0000)]
[analyzer] Always allow BugReporterVisitors to see the bug path.
Before, PathDiagnosticConsumers that did not support actual path output
would (sensibly) cause the generation of the full path to be skipped.
However, BugReporterVisitors may want to see the path in order to mark a
BugReport as invalid.
Now, even for a path generation scheme of 'None' we will still create a
trimmed graph and walk backwards through the bug path, doing no work other
than passing the nodes to the BugReporterVisitors. This isn't cheap, but
it's necessary to properly do suppression when the first path consumer does
not support path notes.
In the future, we should try only generating the path and visitor-provided
path notes once, or at least only creating the trimmed graph once.
llvm-svn: 164447
Jordan Rose [Sat, 22 Sep 2012 01:24:53 +0000 (01:24 +0000)]
[analyzer] Allow a BugReport to be marked "invalid" during path generation.
This is intended to allow visitors to make decisions about whether a
BugReport is likely a false positive. Currently there are no visitors
making use of this feature, so there are no tests.
When a BugReport is marked invalid, the invalidator must provide a key
that identifies the invaliation (intended to be the visitor type and a
context pointer of some kind). This allows us to reverse the decision
later on. Being able to reverse a decision about invalidation gives us more
flexibility, and allows us to formulate conditions like "this report is
invalid UNLESS the original argument is 'foo'". We can use this to
fine-tune our false-positive suppression (coming soon).
llvm-svn: 164446
Jordan Rose [Sat, 22 Sep 2012 01:24:49 +0000 (01:24 +0000)]
[analyzer] Look through OpaqueValueExprs when tracking a nil value.
This allows us to show /why/ a particular object is nil, even when it is
wrapped in an OpaqueValueExpr.
llvm-svn: 164445
Jordan Rose [Sat, 22 Sep 2012 01:24:46 +0000 (01:24 +0000)]
[analyzer] Better path notes for null pointers passed as arguments.
Rather than saying "Null pointer value stored to 'foo'", we now say
"Passing null pointer value via Nth parameter 'foo'", which is much better.
The note is also now on the argument expression as well, rather than the
entire call.
This paves the way for continuing to track arguments back to their sources.
<rdar://problem/
12211490>
llvm-svn: 164444
Jordan Rose [Sat, 22 Sep 2012 01:24:42 +0000 (01:24 +0000)]
Use llvm::getOrdinalSuffix to print ordinal numbers in diagnostics.
Just a refactoring of common infrastructure. No intended functionality change.
llvm-svn: 164443
Jordan Rose [Sat, 22 Sep 2012 01:24:38 +0000 (01:24 +0000)]
[analyzer] Check that an ObjCIvarRefExpr's base is non-null even as an lvalue.
Like with struct fields, we want to catch cases like this early,
so that we can produce better diagnostics and path notes:
PointObj *p = nil;
int *px = &p->_x; // should warn here
*px = 1;
llvm-svn: 164442
Jordan Rose [Sat, 22 Sep 2012 01:24:33 +0000 (01:24 +0000)]
[analyzer] Check that a member expr is valid even when the result is an lvalue.
We want to catch cases like this early, so that we can produce better
diagnostics and path notes:
Point *p = 0;
int *px = &p->x; // should warn here
*px = 1;
llvm-svn: 164441
Jordan Rose [Sat, 22 Sep 2012 01:24:21 +0000 (01:24 +0000)]
Add llvm::getOrdinalSuffix to get the appropriate -st, -nd, -rd, -th suffix.
Used by clang to print parameter indexes.
llvm-svn: 164440
Jordan Rose [Sat, 22 Sep 2012 01:24:18 +0000 (01:24 +0000)]
Casting: assert that pointer arguments to isa<> are non-null.
This silences several analyzer warnings within LLVM, and provides a slightly
nicer crash experience when someone calls isa<>, cast<>, or dyn_cast<> with
a null pointer.
llvm-svn: 164439
Jordan Rose [Sat, 22 Sep 2012 01:24:16 +0000 (01:24 +0000)]
DenseMap: assert that we have found a bucket before we try to insert into it.
This silences literally dozens of analyzer warnings on LLVM (since DenseMap
is such a commonly-used class).
llvm-svn: 164438
Richard Smith [Sat, 22 Sep 2012 00:53:56 +0000 (00:53 +0000)]
Fix bug which sometimes resulted in further diagnostics being produced after a
fatal error. Previously, if a fatal error was followed by a diagnostic which
was suppressed due to a SFINAETrap, we'd forget that we'd seen a fatal error.
llvm-svn: 164437
Jim Ingham [Sat, 22 Sep 2012 00:14:47 +0000 (00:14 +0000)]
Missed a few places where I didn't delete the obsolete (commented out) version of the breakpoint creation.
llvm-svn: 164436
Akira Hatanaka [Sat, 22 Sep 2012 00:07:12 +0000 (00:07 +0000)]
MIPS DSP: Add immediate leaves.
llvm-svn: 164435
Akira Hatanaka [Sat, 22 Sep 2012 00:06:06 +0000 (00:06 +0000)]
MIPS DSP: Add predicates and instruction template.
llvm-svn: 164434
Jim Ingham [Sat, 22 Sep 2012 00:05:11 +0000 (00:05 +0000)]
Fix all the test case breakages caused by folks writing tests all over the place that depended explicitly
on the output of "break set". Please don't do this sort of thing!!!!!
llvm-svn: 164433
Jim Ingham [Sat, 22 Sep 2012 00:04:04 +0000 (00:04 +0000)]
Change the new breakpoint creation output (primarily from "break set") to something more useful.
<rdar://problem/
11333623>
llvm-svn: 164432
Akira Hatanaka [Fri, 21 Sep 2012 23:58:31 +0000 (23:58 +0000)]
Add MIPS DSP register classes. Set actions of DSP vector operations and override
TargetLowering's callback functions.
llvm-svn: 164431
Akira Hatanaka [Fri, 21 Sep 2012 23:52:47 +0000 (23:52 +0000)]
SelectionDAG node enums for MIPS DSP nodes.
llvm-svn: 164430