Commit Graph

123139 Commits

Author SHA1 Message Date
Argyrios Kyrtzidis bb5abc7b49 Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h"
to make it more widely available.

Depends on llvm commit r151564

llvm-svn: 151566
2012-02-27 21:09:45 +00:00
Sean Callanan 0206094d43 Fixed an overly-specific testcase that depended
on libm being loaded.

llvm-svn: 151565
2012-02-27 21:08:54 +00:00
Argyrios Kyrtzidis 65545aa904 Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h"
to make it more widely available.

llvm-svn: 151564
2012-02-27 21:08:33 +00:00
Eli Friedman 8bc169c3c5 Teach BasicAA about the LLVM IR rules that allow reading past the end of an object given sufficient alignment. Fixes PR12098.
llvm-svn: 151553
2012-02-27 20:46:07 +00:00
Roman Divacky ded7f01062 Test the section specification.
llvm-svn: 151552
2012-02-27 20:42:19 +00:00
Sebastian Redl 6776673f09 Convert initializer lists to temporaries in CreateBuiltinBinOp. Allows assignment of init lists to built-in types and resolves PR12088.
llvm-svn: 151551
2012-02-27 20:34:02 +00:00
Derek Schuff e932a68575 Fix PR12089
http://llvm.org/bugs/show_bug.cgi?id=12089

llvm-svn: 151550
2012-02-27 20:31:47 +00:00
Eli Friedman afa84ae85b Add missing code for compound literals of complex type. <rdar://problem/10938628>
llvm-svn: 151549
2012-02-27 20:26:13 +00:00
Argyrios Kyrtzidis 91d0098dc8 Revert testing code I committed by mistake in r151464.
llvm-svn: 151548
2012-02-27 20:21:34 +00:00
Roman Divacky 8fe40cd659 Reapply r151278 with fixes.
MCize function entry label emission on PowerPC64 properly.

llvm-svn: 151547
2012-02-27 20:20:47 +00:00
Sean Callanan 77a1fd3f45 Moved byte-size computation out of a
startDefinition() ... endDefinition() block,
preventing crashes where the byte size of a
not-yet-complete type was being computed.

llvm-svn: 151546
2012-02-27 20:07:01 +00:00
Benjamin Kramer 5e8636f36e Just drop the bitfield from ExtProtoInfo, this struct isn't even heap allocated so it doesn't hurt.
MSVC < 10 still has the signed enum bitfield bug, making the top bit unusable.

llvm-svn: 151545
2012-02-27 20:04:30 +00:00
Richard Smith fb09968e60 Speculatively attempt to work around a hypothetical but unreproduced MSVC issue
in r151494.

llvm-svn: 151544
2012-02-27 19:56:34 +00:00
Chad Rosier a72393a3f9 Add q suffix aliases for the fistp and fisttp mnemonics.
rdar://10921670
PR11935

llvm-svn: 151543
2012-02-27 19:43:12 +00:00
Sean Callanan 8b66598652 Harden the checks on the type returned from the
AST importer because we're seeing occasional
crashes.

llvm-svn: 151541
2012-02-27 19:22:39 +00:00
Akira Hatanaka b260f206d2 Remove unnecessary template parameters.
llvm-svn: 151540
2012-02-27 19:17:53 +00:00
Greg Clayton ea5e0cc320 Enabled the PlatformLinux and PlatforFreeBSD on MacOSX so they can be used
and also so we don't break them with our code changes.

The _only_ plug-ins that should be #ifdef'ed out and not compiled in LLDB
are those that only work when running natively on the host system.

This fixed bot the PlatformLinux and PlatformFreeBSD build breakages that
were due to ModuleSpec changes.

llvm-svn: 151539
2012-02-27 19:12:12 +00:00
Akira Hatanaka 3c5cab4730 Fix instruction predicates that were not set correctly.
llvm-svn: 151538
2012-02-27 19:09:08 +00:00
Greg Clayton d10a038cf3 Added the POSIX-DYLD as a plug-in in the darwin build in the Xcode project
so that we don't break it with code changes. 

After doing this I was able to fix the POSIX-DYLD plug-in so that it builds
after recent ModuleSpec changes.

llvm-svn: 151536
2012-02-27 19:00:34 +00:00
Benjamin Kramer 581a691b52 Include stddef.h for ptrdiff_t, GCC 4.6 doesn't include it implicitly.
llvm-svn: 151535
2012-02-27 18:46:54 +00:00
Johnny Chen 5ff3c2f94b Remove redundant declaration.
Patch from Dmitry Vyukov <dvyukov@google.com>!

llvm-svn: 151534
2012-02-27 18:45:26 +00:00
Chad Rosier d6a56db7b6 Test case for r151429/r151430, which ensures llvm.lifetime intrinsics are not
being emitted at -O0, but are emitted when optimizations are enabled.

llvm-svn: 151533
2012-02-27 18:45:03 +00:00
Greg Clayton 29d1930868 Patch from Pawel Worach to make FreeBSD work again after ModuleSpec changes.
llvm-svn: 151532
2012-02-27 18:40:48 +00:00
Jakob Stoklund Olesen 5aafb56dc0 Update machine code verifier.
After the SlotIndex slot names were updated, it is possible to apply
stricter checks to live intervals.

Also treat bundles as bags of operands when checking live intervals.

llvm-svn: 151531
2012-02-27 18:24:30 +00:00
Kevin Enderby 1489b523c3 Fix the symbolic operand added for the C disassmbler API for the ARM bl
thumb instruction.  The PC adjustment is +4 in Thumb mode and +8 in ARM mode.

llvm-svn: 151530
2012-02-27 18:15:15 +00:00
Jakob Stoklund Olesen 1f152baef8 Add a MachineOperand iterator class.
The MIOperands iterator can visit operands on a single instruction, or
all operands in a bundle.  This simplifies code like the register
allocator that treats bundles as a set of operands.

llvm-svn: 151529
2012-02-27 18:09:36 +00:00
Alexander Potapenko 7e07f56811 Introduce __asan_set_error_report_callback() to allow the client program post-process the error reports.
If the callback is set, Report() and Printf() print the reports into a buffer (together with stderr), which is then passed to the client.

llvm-svn: 151528
2012-02-27 14:06:48 +00:00
Benjamin Kramer 169f436870 Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized.
Found by valgrind.

llvm-svn: 151527
2012-02-27 13:20:39 +00:00
Evgeniy Stepanov d84e16e6a3 Replace some #ifdef(s) with plain if(s).
llvm-svn: 151526
2012-02-27 13:07:29 +00:00
Benjamin Kramer 93887631d9 Plog a memleak in GlobalOpt.
Found by valgrind.

llvm-svn: 151525
2012-02-27 12:48:24 +00:00
Duncan Sands 9edea84420 Micro-optimization, no functionality change.
llvm-svn: 151524
2012-02-27 12:11:41 +00:00
Jay Foad 8e9d47c039 Help the compiler to eliminate some dead code when hashing an array of T
where sizeof (T) is a multiple of 4.

llvm-svn: 151523
2012-02-27 11:00:17 +00:00
Duncan Sands 1be25a78f7 The value numbering function is recursive, so it is possible for multiple new
value numbers to be assigned when calculating any particular value number.
Enhance the logic that detects new value numbers to take this into account,
for a tiny compile time speedup.  Fix a comment typo while there.

llvm-svn: 151522
2012-02-27 09:54:35 +00:00
Alexey Samsonov a1a3a2ffc3 AddressSanitizer: add some checks to AsanChunkFifoList::PushList
llvm-svn: 151521
2012-02-27 09:06:10 +00:00
Eric Christopher 7a5fdd8746 ObjcInterfaceTypes are also complete types for the type cache.
Fixes rdar://10934887

llvm-svn: 151519
2012-02-27 08:23:23 +00:00
Eric Christopher 5bd52c1b3e Make this test a bit more robust for debug info changes.
llvm-svn: 151518
2012-02-27 08:22:57 +00:00
Duncan Sands 27f459519d When performing a conditional branch depending on the value of a comparison
%cmp (eg: A==B) we already replace %cmp with "true" under the true edge, and
with "false" under the false edge.  This change enhances this to replace the
negated compare (A!=B) with "false" under the true edge and "true" under the
false edge.  Reported to improve perlbench results by 1%.

llvm-svn: 151517
2012-02-27 08:14:30 +00:00
Richard Smith 619ecdc80f Ensure that we delete default constructors in the right cases. Don't delete the
default constructor of a union if it has a const member with no user-provided
default constructor.

llvm-svn: 151516
2012-02-27 06:07:25 +00:00
Richard Smith fa933d1225 Fix decltype crash-on-invalid, if we don't find a matching ')' for an ill-formed
decltype expression.

llvm-svn: 151515
2012-02-27 05:24:00 +00:00
Craig Topper 317640dfd0 Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen.
llvm-svn: 151514
2012-02-27 02:59:43 +00:00
Craig Topper 8e76068c6e Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.
llvm-svn: 151513
2012-02-27 02:31:09 +00:00
Jia Liu f6de2daf13 delete useless comment&blank
llvm-svn: 151512
2012-02-27 02:21:34 +00:00
Rafael Espindola 09a4201d3c Fix this assert. IP can point to an instruction with strange dominance
properties (invoke). Just assert that the instruction we return dominates
the insertion point.

llvm-svn: 151511
2012-02-27 02:13:03 +00:00
Craig Topper 6491c8020e X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo.
llvm-svn: 151510
2012-02-27 01:54:29 +00:00
Richard Smith 2fbb3d84a2 Tests for r151508.
llvm-svn: 151509
2012-02-26 23:49:01 +00:00
Richard Smith 9a6403a9de Half of PR12088: parse braced-init-lists on the RHS of assignment operators.
If the assignment operator is a scalar type, we continue to incorrectly reject
the initializer, but semantic analysis (and codegen) is correct for overloaded
operators.

llvm-svn: 151508
2012-02-26 23:40:27 +00:00
Chad Rosier ce50eec7c6 Remove more GCC FE build stuff.
llvm-svn: 151507
2012-02-26 22:26:37 +00:00
Chad Rosier 579b40db6a Installing the GCC front end is no longer supported.
llvm-svn: 151506
2012-02-26 22:17:05 +00:00
Chad Rosier 2270b005bb Cleanup the LLVM Getting Started page.
llvm-svn: 151505
2012-02-26 22:12:59 +00:00
Gregory Szorc 5b4173912f [clang.py] Test Cursor.__ne__
llvm-svn: 151504
2012-02-26 21:56:32 +00:00