Rafael Espindola
e840e88239
This commit introduces two fake instructions MORESTACK_RET and
...
MORESTACK_RET_RESTORE_R10; which are lowered to a RET and a RET
followed by a MOV respectively. Having a fake instruction prevents
the verifier from seeing a MachineBasicBlock end with a
non-terminator (MOV). It also prevents the rather eccentric case of a
MachineBasicBlock ending with RET but having successors nevertheless.
Patch by Sanjoy Das.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143062 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 21:12:27 +00:00
Lang Hames
75757f9fd1
Make sure short memsets on ARM lower to stores, even when optimizing for size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143055 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 20:56:52 +00:00
Duncan Sands
dd3149d579
The maximum power of 2 dividing a power of 2 is itself. This occurs
...
in 403.gcc and was spotted by my super-optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143054 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 20:55:21 +00:00
Owen Anderson
1832f4d94e
Add support for scattered relocations to the MachO relocatation pretty printer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143051 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 20:42:54 +00:00
Bill Wendling
7b7fa74527
Some formatting changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143045 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 18:46:16 +00:00
Nick Lewycky
5a86c5b457
On an ELF system, ".debug_str" is mergeable and contains null terminated strings
...
composed of one byte characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143044 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 18:44:32 +00:00
Bill Wendling
bc5f6ddfba
Add the blurb about the new exception handling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143042 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 18:33:01 +00:00
Bill Wendling
65d1f415c7
Add clReflect to the External Projects list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143041 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 18:23:06 +00:00
Bill Wendling
57fd876509
Add LanguageKit and Pragmatic Smalltalk to the External Projects list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143040 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 18:20:54 +00:00
Owen Anderson
ef22f78c68
The order of the two symbol listings in a Macho x86_64 subtractor relocation is reversed from what seems intuitive to me.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143035 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 17:28:49 +00:00
Jim Grosbach
9c5edc00c4
Thumb2 remove redundant ".w" suffix from t2MVNCCi pattern.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143034 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 17:28:15 +00:00
Owen Anderson
f8261e7d07
Include the full 64 bits of relocation data in the type info for MachO relocations, so that we can recognize scattered relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143033 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 17:10:22 +00:00
Owen Anderson
9472b8d220
Expand relocation type field to 64 bits. MachO scattered relocations require 33 bits of type info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143032 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 17:08:49 +00:00
Owen Anderson
929e27cc3c
Improve pretty printing of GOT relocations in MachO on x86_64.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143031 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 17:05:20 +00:00
Duncan Sands
e8ec225e77
My super-optimizer noticed that we weren't folding this expression to
...
true: (x *nsw x) sgt 0, where x = (y | 1). This occurs in 464.h264ref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143028 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 15:31:51 +00:00
Duncan Sands
a921a46854
Simplify SplitVecRes_UnaryOp by removing all the code that is
...
trying to legalize the operand types when only the result type
is required to be legalized - the type legalization machinery
will get round to the operands later if they need legalizing.
There can be a point to legalizing operands in parallel with
the result: when this saves compile time or results in better
code. There was only one case in which this was true: when
the operand is also split, so keep the logic for that bit.
As a result of this change, additional operand legalization
methods may need to be introduced to handle nodes where the
result and operand types can differ, like SIGN_EXTEND, but
the testsuite doesn't contain any tests where this is the case.
In any case, it seems better to require such methods (and die
with an assert if they doesn't exist) than to quietly produce
wrong code if we forgot to special case the node in
SplitVecRes_UnaryOp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143026 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 14:11:18 +00:00
Bill Wendling
644ce53a30
Add ThreadSanitizer to the External Projects list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143024 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 09:25:01 +00:00
James Molloy
015cca6c08
Revert r142530 at least temporarily while a discussion is had on llvm-commits regarding exactly how much optsize should optimize for size over performance.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143023 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 08:53:19 +00:00
Bill Wendling
8a924c6edf
Add ZooLib to the External Projects list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143022 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 07:42:45 +00:00
Bill Wendling
02b77b790a
Add the Stupid D Compiler to the External Projects list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143020 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 07:38:19 +00:00
Bill Wendling
de39d86f26
Use a worklist to prevent the iterator from becoming invalidated because of the 'removeSuccessor' call. Noticed in a Release+Asserts+Check buildbot.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143018 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 07:16:18 +00:00
Bill Wendling
7c38de2e9f
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143012 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 04:24:15 +00:00
Eric Christopher
b64541fc72
Remove unused variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143011 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 03:47:16 +00:00
Charles Davis
13460c9bd6
Revert 142997. It doesn't work on Mac OS or the BSDs, which all use the BSD
...
version of the install program, which does not have the --strip-program
switch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143009 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 02:28:32 +00:00
Jakob Stoklund Olesen
794439183a
Don't use floating point to do an integer's job.
...
This code makes different decisions when compiled into x87 instructions
because of different rounding behavior. That caused phase 2/3
miscompares on 32-bit Linux when the phase 1 compiler was built with gcc
(using x87), and the phase 2 compiler was built with clang (using SSE).
This fixes PR11200.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143006 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 01:47:48 +00:00
Evan Cheng
73b5bb3865
Disable LICM speculation in high register pressure situation again now that Devang has fixed other issues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143003 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 01:26:57 +00:00
Evan Cheng
f31151f34e
Revert part of r142530. The patch potentially hurts performance especially
...
on Darwin platforms where -Os means optimize for size without hurting
performance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143002 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 01:17:44 +00:00
Bill Wendling
a823e3d42c
Reapply r142920 with fix:
...
An MBB which branches to an EH landing pad shouldn't be considered for tail merging.
In SjLj EH, the jump to the landing pad is not done explicitly through a branch
statement. The EH landing pad is added as a successor to the throwing
BB. Because of that however, the branch folding pass could mistakenly think that
it could merge the throwing BB with another BB. This isn't safe to do.
<rdar://problem/10334833>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143001 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 01:10:25 +00:00
Eli Friedman
526e1bbe6b
Add a note about the removal of the atomic intrinsics to the "Major Changes" section of the release notes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142998 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:55:23 +00:00
Eric Christopher
f3a5ba548f
Search for and use the strip program and pass it to install for it
...
to use for stripping final executables.
Patch by Simon Atanasyan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142997 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:52:13 +00:00
Eric Christopher
360fa9a29d
Handle newer cases for freebsd which is approaching 10.0 and not 1.0.
...
Patch by Dimitry Andric!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142995 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:42:12 +00:00
Eli Friedman
5289142cc8
Remove dead atomic intrinsics from LangRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142994 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:36:41 +00:00
Mon P Wang
cf62b371a9
The bitcode reader can create an shuffle with a place holder mask which it will
...
fix up later. For this special case, allow such a mask to be considered valid.
<rdar://problem/8622574>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142992 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:34:48 +00:00
Bill Wendling
7be6bc5a93
Add mention of AddressSanitizer to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142991 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:17:54 +00:00
Bill Wendling
d4821b894a
Add mention of Mono to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142990 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:16:17 +00:00
Bill Wendling
29817ea67f
Add mention of ClamAV to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142989 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:14:36 +00:00
Bill Wendling
537d85bda8
Add mention of Renderscript to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142988 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:12:04 +00:00
Bill Wendling
f9778197e8
Add mention of GHC to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142987 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:09:55 +00:00
Michael J. Spencer
232b1f268c
llvm-nm: Use correct format string. Patch by Stepan Dyatkovskiy!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142984 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:45:47 +00:00
Michael J. Spencer
fe944e8cd0
Object/Archive: Cleanup anon namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142983 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:31:11 +00:00
Michael J. Spencer
93fe4ae091
Object: change test to create archive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142982 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:30:58 +00:00
Michael J. Spencer
aaf98ead11
Object/Archive: Add BSD style long file name support and skip internal members.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142981 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:30:42 +00:00
Owen Anderson
c8aa726ec2
Remove extraneous printing of "-PC".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142970 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:44:00 +00:00
Bill Wendling
7d5b621f77
Add mention of SAFECode to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142966 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:40:26 +00:00
Bill Wendling
0bad98c78b
Add mention of Pure to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142965 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:39:06 +00:00
Bill Wendling
ba22627b71
Add mention of Portable OpenCL to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142963 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:37:45 +00:00
Owen Anderson
0685e94895
Add support for the notion of "hidden" relocations. On MachO, these are relocation entries that are used as additional information for other, real relocations, rather than being relocations themselves.
...
I'm not familiar enough with ELF or COFF to know if they should have any relocations marked hidden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142961 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:35:53 +00:00
Bill Wendling
f62333df5e
Add mention of gwScript to external OS projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142960 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:35:31 +00:00
Eli Friedman
9312613137
Remove a couple redundant checks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142959 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:34:22 +00:00
Chad Rosier
847915d63a
Add a few test cases to ensure the bitcode reader is backward compatible with
...
LLVM 2.9. My understanding is that we plan to maintain compatibility with 2.9
until the 3.1 release. At that time we can generate new test cases using LLVM
3.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 20:33:19 +00:00