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
Chad Rosier
690a2b0902
Add href to clang in overview.
...
llvm-svn: 151503
2012-02-26 21:34:02 +00:00
Chad Rosier
233f147691
Remove references to llvm-gcc from overview and tutorial.
...
llvm-svn: 151502
2012-02-26 21:31:25 +00:00
Benjamin Kramer
b73f76b642
Reorder members to save padding.
...
There's more potential here, but these Exprs aren't used that often so I don't feel like doing heroic bit packing right now.
-8 bytes on every class changed (x86_64).
llvm-svn: 151501
2012-02-26 20:37:14 +00:00
Benjamin Kramer
8d550863cb
Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt.
...
Apply the inheritance-padding trick to FloatingLiteral.
Shrinks CharacterLiteral from 32 to 24 bytes and the other two from 40 to 32 bytes (x86_64).
llvm-svn: 151500
2012-02-26 19:47:25 +00:00
Benjamin Kramer
441607ddcb
Make clever use of padding to shrink IntegerLiterals.
...
Inheritance allows us to use padding across classes.
40 -> 32 bytes on x86_64.
llvm-svn: 151499
2012-02-26 18:34:12 +00:00
Benjamin Kramer
74f011db76
Bit pack StringLiteral.
...
48 -> 40 bytes on x86_64.
llvm-svn: 151498
2012-02-26 18:34:07 +00:00
Benjamin Kramer
3f8e0ec333
Reduce padding in MemberExpr.
...
56 -> 48 bytes on x86_64.
llvm-svn: 151497
2012-02-26 18:34:02 +00:00
Benjamin Kramer
7e11d9c4c2
CompoundLiteralExpr: Pair a bool with a pointer.
...
48 -> 40 bytes on x86_64.
llvm-svn: 151496
2012-02-26 18:33:56 +00:00
Benjamin Kramer
14926606a4
Shuffle members of DesignatedInitExpr to avoid padding.
...
40 -> 32 bytes on x86_64.
llvm-svn: 151495
2012-02-26 17:31:32 +00:00